失效链接处理 |
程序是怎样跑起来的 PDF 下载
转载自:http://download.csdn.net/download/zhoujiekunyuchen/9987893
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://e.dangdang.com/products/1900754128.html
相关截图:
资料简介:
《程序是怎样跑起来的》一书从计算机的内部结构始讲起,以图配文的形式详细讲解了二制、内存、数据压缩、源文件和可执行文件、操作系统和应用程序的关系、汇编语言、硬件控制方法等内容,目的是让读者了解从用户双程序图标到程序始运行之间到底发生了什么。同时专设了“如果是你,你会怎样介绍?”专栏,以小学生、老奶奶为对象讲解程序的运行原理,颇为有趣。本书图文并茂,通俗易懂,非常适合计算机爱好者及相关从业人员阅读。
资料目录:
前言 第 1 章 对程序员来说 CPU 是什么 1.1 CPU 的内部结构解析 1.2 CPU 是寄存器的集合体 1.3 决定程序流程的程序计数器 1.4 条件分支和循环机制 1.5 函数的调用机制 1.6 通过地址和索引实现数组 1.7 CPU 的处理其实很简单 第 2 章 数据是用二进制数表示的 2.1 用二进制数表示计算机信息的原因 2.2 什么是二进制数 2.3 移位运算和乘除运算的关系 2.4 便于计算机处理的“补数” 2.5 逻辑右移和算术右移的区别 2.6 掌握逻辑运算的窍门 COLUMN 如果是你,你会怎样介绍? 第 3 章 计算机进行小数运算时出错的原因 3.1 将 0.1 累加 100 次也得不到 10 3.2 用二进制数表示小数 3.3 计算机运算出错的原因 3.4 什么是浮点数 3.5 正则表达式和 EXCESS 系统 3.6 在实际的程序中进行确认 3.7 如何避免计算机计算出错 3.8 二进制数和十六进制数 第 4 章 熟练使用有棱有角的内存 4.1 内存的物理机制很简单 4.2 内存的逻辑模型是楼房 4.3 简单的指针 4.4 数组是高效使用内存的基础 4.5 栈、队列以及环形缓冲区 4.6 链表使元素的追加和删除更容易 4.7 二叉查找树使数据搜索更有效 第 5 章 内存和磁盘的亲密关系 5.1 不读入内存就无法运行 5.2 磁盘缓存加快了磁盘访问速度 5.3 虚拟内存把磁盘作为部分内存来使用 5.4 节约内存的编程方法 5.5 磁盘的物理结构 第 6 章 亲自尝试压缩数据 6.1 文件以字节为单位保存 6.2 RLE 算法的机制 6.3 RLE 算法的缺点 6.4 通过莫尔斯编码来看哈夫曼算法的基础 6.5 用二叉树实现哈夫曼编码 6.6 哈夫曼算法能够大幅提升压缩比率 6.7 可逆压缩和非可逆压缩 COLUMN 如果是你,你会怎样介绍? 第 7 章 程序是在何种环境中运行的 7.1 运行环境 = 操作系统 + 硬件 7.2 Windows 克服了 CPU 以外的硬件差异 7.3 不同操作系统的 API 不同 7.4 FreeBSD Port 帮你轻松使用源代码 7.5 利用虚拟机获得其他操作系统环境 7.6 提供相同运行环境的 Java 虚拟机 7.7 BIOS 和引导 第 8 章 从源文件到可执行文件 8.1 计算机只能运行本地代码 8.2 本地代码的内容 8.3 编译器负责转换源代码 8.4 仅靠编译是无法得到可执行文件的 8.5 启动及库文件 8.6 DLL 文件及导入库 8.7 可执行文件运行时的必要条件 8.8 程序加载时会生成栈和堆 8.9 有点难度的 Q&A 第 9 章 操作系统和应用的关系 9.1 操作系统功能的历史 9.2 要意识到操作系统的存在 9.3 系统调用和高级编程语言的移植性 9.4 操作系统和高级编程语言使硬件抽象化 9.5 Windows 操作系统的特征 COLUMN 如果是你,你会怎样介绍? 第 10 章 通过汇编语言了解 程序的实际构成 10.1 汇编语言和本地代码是一一对应的 10.2 通过编译器输出汇编语言的源代码 10.3 不会转换成本地代码的伪指令 10.4 汇编语言的语法是“操作码 + 操作数” 10.5 最常用的 mov 指令 10.6 对栈进行 push 和 pop 10.7 函数调用机制 10.8 函数内部的处理 10.9 始终确保全局变量用的内存空间 10.10 临时确保局部变量用的内存空间 10.11 循环处理的实现方法 10.12 条件分支的实现方法 10.13 了解程序运行方式的必要性 第 11 章 硬件控制方法 11.1 应用和硬件无关? 11.2 支撑硬件输入输出的 IN 指令和 OUT 指令 11.3 编写测试用的输入输出程序 11.4 外围设备的中断请求 11.5 用中断来实现实时处理 11.6 DMA 可以实现短时间内传送大量数据 11.7 文字及图片的显示机制 COLUMN 如果是你,你会怎样介绍? 第 12 章 让计算机“思考” 12.1 作为“工具”的程序和为了“思考”的程序 12.2 用程序来表示人类的思考方式 12.3 用程序来表示人类的思考习惯 12.4 程序生成随机数的方法 12.5 活用记忆功能以达到更接近人类的判断 12.6 用程序来表示人类的思考方式 COLUMN 如果是你,你会怎样介绍? 附录 让我们开始 C 语言之旅 C 语言的特点 变量和函数 数据类型 标准函数库 函数调用 局部变量和全局变量 数组和循环 其他语法结构 结语
致谢 |