8.1 计算机只能运行本地代码
8.2 本地代码的内容
8.3 编译器负责转换源代码
8.4 仅靠编译是无法得到可执行文件的
8.5 启动及库文件
8.6 DLL文件及导入库
8.7 可执行文件运行时必要条件
8.8 程序加载时会生成堆和栈
8.9 有点难度的Q&A
7.1 运行环境=操作系统+硬件
7.2 Windows克服了CPU以外的硬件差异
7.3 不同操作系统的API不同
7.4 FreeBSD Port帮你轻松使用源代码
7.5 利用虚拟机获得其他操作系统环境
7.6 提供相同运行环境的Java虚拟机
7.7 BIOS和引导
6.1 文件以字节为单位保存
6.2 RLE算法的机制
6.3 RLE算法的缺点
6.4 通过摩尔斯编码来看哈夫曼算法的基础6.5 用二叉树实现哈夫曼编码
6.5 用二叉树实现哈夫曼编码 6.6 哈夫曼算法能够大幅度提升压缩比率 6.7 可逆压缩和非可逆压缩
5.1 不读入内存就无法运行
5.2 磁盘缓存加快了磁盘访问速度
5.3 虚拟内存把磁盘作为部分内存来使用
5.4 节约内存的编程方法
5.5 磁盘的物理结构
4.1 内存的物理机制很简单
4.2 内存的逻辑模型是楼房
4.3 简单的指针
4.4 数组是高效使用内存的基础
4.5 栈、队列以及环形缓冲区
4.6 链表使元素的追加和删除更容易
4.7 二叉查找树使数据搜索更有效
3.1 将0.1累加100次也得不到10
3.2 用二进制表示小数
3.3 计算机运算出错的原因
3.4 什么是浮点数
3.5 正则表达式和EXCESS系统
3.6 在实际的程序中进行确认
3.7 如何避免计算机计算出错
2.1 用二进制表示计算机信息的原因
2.2 什么是二进制
2.3 移位运算和乘除运算的关系
2.4 便于计算机处理的"补数"
2.5 逻辑右移和算术右移的区别 2.6 掌握逻辑运算的窍门

1.1 CPU的内部结构解析
1.2 CPU是寄存器的集合体 1.3 决定程序流程的程序计数器 1.4条件分支和循环机制
1.5 函数的调用机制 1.6 通过地址和索引实现数组 1.7 CPU的处理其实很简单
 

《程序是怎样跑起来的》是日本作者矢泽久雄的著作。