程序是怎样跑起来的
查字典图书网
当前位置: 查字典 > 图书网 > 编程> 程序是怎样跑起来的

程序是怎样跑起来的

8.0

作者: [日] 矢泽久雄
出版社: 人民邮电出版社
译者: 李逢俊
出版年: 2015-4
页数: 272
定价: 39.00元
装帧: 平装
ISBN: 9787115385130



推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

内容简介:

本书从计算机的内部结构开始讲起,以图配文的形式详细讲解了二进制、内存、数据压缩、源文件和可执行文件、操作系统和应用程序的关系、汇编语言、硬件控制方法等内容,目的是让读者了解从用户双击程序图标到程序开始运行之间到底发生了什么。同时专设了“如果是你,你会怎样介绍?”专栏,以小学生、老奶奶为对象讲解程序的运行原理,颇为有趣。本书图文并茂,通俗易懂,非常适合计算机爱好者及相关从业人员阅读。

作者简介:

作者简介:

矢泽久雄

YAZAWA股份有限公司董事长兼总经理。GrapeCity信息技术集团顾问。电脑作家之友会会长。

曾在某大型电子公司从事过电脑生产,在Software House做过程序员,现主要从事软件包的开发工作。工作之余笔耕不缀,从电路到编程语言均有涉及。代表作有《计算机是怎样跑起来的》《使用C语言学习程序设计的基础》《征服C++类和继承》等。自称软件艺人。

译者简介:

李逢俊

北京易网联信信息技术有限公司CEO。

哈尔滨工业大学硕士毕业后在日工作8年,曾在日本知名游戏公司担任移动互联网部门负责人,拥有丰富的移动游戏开发及运营经验。2011年回国创业,创建易网联信团队(www.easymobi.cn),致力于精品手机游戏的开发及运营。

目录:

第1章 对程序员来说CPU是什么1

1.1 CPU的内部结构解析3

1.2 CPU是寄存器的集合体6

1.3 决定程序流程的程序计数器9

1.4 条件分支和循环机制10

1.5 函数的调用机制13

1.6 通过地址和索引实现数组16

1.7 CPU的处理其实很简单17

第2章 数据是用二进制数表示的19

2.1 用二进制数表示计算机信息的原因21

2.2 什么是二进制数23

2.3 移位运算和乘除运算的关系25

2.4 便于计算机处理的“补数”27

2.5 逻辑右移和算术右移的区别31

2.6 掌握逻辑运算的窍门34

COLUMN 如果是你,你会怎样介绍?——向小学生讲解CPU和二进制38

第3章 计算机进行小数运算时出错的原因41

3.1 将0.1累加100次也得不到1043

3.2 用二进制数表示小数44

3.3 计算机运算出错的原因46

3.4 什么是浮点数47

3.5 正则表达式和EXCESS系统50

3.6 在实际的程序中进行确认52

3.7 如何避免计算机计算出错55

3.8 二进制数和十六进制数56

第4章 熟练使用有棱有角的内存59

4.1 内存的物理机制很简单61

4.2 内存的逻辑模型是楼房65

4.3 简单的指针67

4.4 数组是高效使用内存的基础69

4.5 栈、队列以及环形缓冲区71

4.6 链表使元素的追加和删除更容易75

4.7 二叉查找树使数据搜索更有效79

第5章 内存和磁盘的亲密关系81

5.1 不读入内存就无法运行83

5.2 磁盘缓存加快了磁盘访问速度84

5.3 虚拟内存把磁盘作为部分内存来使用85

5.4 节约内存的编程方法88

5.5 磁盘的物理结构93

第6章 亲自尝试压缩数据97

6.1 文件以字节为单位保存99

6.2 RLE算法的机制100

6.3 RLE算法的缺点101

6.4 通过莫尔斯编码来看哈夫曼算法的基础103

6.5 用二叉树实现哈夫曼编码105

6.6 哈夫曼算法能够大幅提升压缩比率109

6.7 可逆压缩和非可逆压缩110

COLUMN 如果是你,你会怎样介绍?——向沉迷游戏的中学生讲解内存和磁盘114

第7章 程序是在何种环境中运行的117

7.1 运行环境=操作系统+硬件119

7.2 Windows克服了CPU以外的硬件差异122

7.3 不同操作系统的API不同124

7.4 FreeBSD Port帮你轻松使用源代码125

7.5 利用虚拟机获得其他操作系统环境127

7.6 提供相同运行环境的 Java虚拟机128

7.7 BIOS和引导130

第8章 从源文件到可执行文件133

8.1 计算机只能运行本地代码135

8.2 本地代码的内容137

8.3 编译器负责转换源代码139

8.4 仅靠编译是无法得到可执行文件的141

8.5 启动及库文件143

8.6 DLL文件及导入库145

8.7 可执行文件运行时的必要条件146

8.8 程序加载时会生成栈和堆148

8.9 有点难度的Q&A150

第9章 操作系统和应用的关系153

9.1 操作系统功能的历史155

9.2 要意识到操作系统的存在157

9.3 系统调用和高级编程语言的移植性160

9.4 操作系统和高级编程语言使硬件抽象化161

9.5 Windows操作系统的特征163

COLUMN 如果是你,你会怎样介绍?——向超喜欢手机的女高中生讲解操作系统的作用170

第10章 通过汇编语言了解程序的实际构成173

10.1 汇编语言和本地代码是一一对应的175

10.2 通过编译器输出汇编语言的源代码177

10.3 不会转换成本地代码的伪指令180

10.4 汇编语言语法是“操作码+操作数”182

10.5 最常用的mov指令185

10.6 对栈进行push和pop 185

10.7 函数调用机制187

10.8 函数内部的处理189

10.9 始终确保全局变量用的内存空间191

10.10 临时确保局部变量用的内存空间196

10.11 循环处理的实现方法199

10.12 条件分支的实现方法202

10.13 了解程序运行方式的必要性204

第11章 硬件控制方法209

11.1 应用和硬件无关?211

11.2 支撑硬件输入输出的IN指令和OUT指令212

11.3 编写测试用的输入输出程序215

11.4 外围设备的中断请求218

11.5 用中断来实现实时处理221

11.6 DMA可以实现短时间内传送大量数据222

11.7 文字及图片的显示机制224

COLUMN 如果是你,你会怎样介绍?——向邻居老奶奶说明显示器和电视机的不同226

第12章 让计算机“思考”229

12.1 作为“工具”的程序和为了“思考”的程序231

12.2 用程序来表示人类的思考方式232

12.3 用程序来表示人类的思考习惯235

12.4 程序生成随机数的方法237

12.5 活用记忆功能以达到更接近人类的判断239

12.6 用程序来表示人类的思考方式242

COLUMN 如果是你,你会怎样介绍?——向常光临的酒馆老板讲解计算机的思考机制245

附录 让我们开始C语言之旅247

C语言的特点247

变量和函数248

数据类型249

标准函数库250

函数调用251

局部变量和全局变量254

数组和循环255

其他语法结构256

文章试读:CPU的四个构成部分中,程序员只需要了解寄存器即可,其余三个都不用太过关注。那么,为什么必须要了解寄存器呢?这是因为 程序是把寄存器作为对象来描述的 。 首先我们来看一下代码清单1-1。这是用汇编语言(assembly)①编写的程序的一部分。 汇编语言 采用助记符(memonic)来编写程序,每一个原本是电气信号的机器语言②指令都会有一个与其相应的助记符,助记符通常为指令功能的英语单词的简写。例...

(查看全部试读)

展开全文
热门标签:
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •