读《程序是怎样跑起来的》第八章有感

wangli155167 wangli155167     2023-03-07     320

关键词:

这一章主要是讲的源文件和可执行文件(EXE文件),计算机只能运行本地代码,本地代码是CPU可以解析和运行的程序,而并不能直接解析和运行源代码,这是因为作为计算机大脑的CPU只能解释已经转换成本地代码的程序内容。

CPU来说母语就是机器语言,而转换成机器语言的程序就是本地代码,用任何语言编写的源代码,最后都要翻译成本地代码。否则CPU就不能理解了,我感觉CPU跟我还蛮像的,你要是跟我说方言或者其他国家的语言我也听不懂,只能听懂汉语。哈哈,开个小玩笑,也就是说,即使是用不同编程语言编写的代码 。转变成本地代码后,也都变成用同一种语言来表示了。

接着作者给出两张图片,一个是用记事本打开EXE文件后的本地代码,另一个是用数值罗列的本地代码,真是看不懂,怪不得要用编程语言呢。接着作者解释了什么叫编译器,编译器就是将高级编程语言编写的源代码转换成本地代码的程序。但每种编程语言都需要专用的编译器,根据CPU类型的不同,本地代码的类型也不同。因此,编译器不仅和编程语言的种类有关,和CPU的种类和运行环境也是有关的。

后面讲了库文件和DLL文件以及如何到倒入库,书上作者讲的很详细了,就不一 一赘述了,最后作者提出的七个问答题很有内容,不过有些读一遍还是不太理解需要多读几遍,总的来讲,这一章的内容比较多,也比较难懂,看了一遍感觉还是很懵,感觉自己懂的真是太少了,以前觉得学好书上的知识就好了,感觉自己真傻!!

《程序是怎样跑起来的》第八章

...地代码,cpu直接解析并运行的不是源代码而是本地代码的程序。不同编程语言编写的代码,转换成本地代码后,都变成一种语言(机器语言)来表示了。2.本地代码的内容就是数值的罗列。计算机指令也是数值的罗列。3.编译后生成... 查看详情

读《程序怎样跑起来》有感

...的,什么是二进制,二进制怎样运算,在高级语言编写的程序中,数值,字符串和图像等信息在计算机内部都是以二进制数值的形式来表现的。  计算机中使用二进制的主要原因是,计算机内部是由IC这种电子部件组成的... 查看详情

读《程序怎样跑起来》第一章有感

...我知道CPU所负责的就是解释和运行最终转换成机器语言的程序内容,CPU的内部主要是由寄存器,控制器,运算器和时钟四个部分构成,各部分之间由电流信号相互连通。    在这四个部分中,最主要的是寄存器,CPU... 查看详情

读《程序是怎样跑起来的》第二章有感

...二进制在计算机中,运行速度会更快,会减少计算机运行程序所需要的时间。8位二进制数被成为一个字节。在计算机中,数据的运算也是通过二进制来实现的。并且在程序中,有逻辑运算,与或运算,进行简单的逻辑运算,这... 查看详情

读《程序是怎样跑起来的》第一章有感

 程序是只是计算机每一步动作的指令,计算机内部的编译和代码是人工事先做好的,我们输入代码,计算机内部进行编译成机器语言,执行代码。而cpu是计算机的核心部位,cpu能够直接识别和执行的只有机器代码,像我们输... 查看详情

读《程序是怎样跑起来的》第三章有感

...也很纳闷,不理解为啥结果不是10,作者先是用一段C语言程序介绍累加的过程,然后做了解析,程序并没有出现任何语法错误,但是运行的结果并不是10.,因为计算机内部所有的信息都是由二进制的形式来处理的,因此在这一点... 查看详情

读《程序是怎样跑起来的》第第三章有感

第三章讲的主要是关于计算机进行小数运算时出错的原因,首先讲了为什么计算机也会出错,先举了一个例子,将0.1累加100次也得不到10,引出问题,讨论出计算机出错的原因是有一些十进制数的小数无法转换成二进制数,在十... 查看详情

读《程序是怎样跑起来的》第四章有感

...电源、数据信号、控制信号(WR、RD)和地址信号。作为程序员,可以把内存想象成每一层都存储数据的楼房,变量的数据类型不同,所占用的内存大小也不一样。指针也是一种变量,它所表示的不是数据的值,而是存储着数据... 查看详情

读《程序是怎样跑起来的》第三章有感

本章上来就提出一个很有意思的问题,虽然我并没有尝试过100个0.1相加,也很少有在写代码时碰到小数。原来是因为有些十进制数无法转化成二进制数,0.1转化成二进制数时类似于循环小数,计算机也只能取到近似值,无法处理... 查看详情

读《程序是怎样跑起来的》第四章有感

...什么要了解内存的原因,计算机是进行数据处理的设备而程序表示的就是处理顺序和数据结构。由于处理对象数据是存储在内存和磁盘上的,因此程序必须能够使用内存和磁盘。进一步知道内存是一种名为IC的电子元件。主要分... 查看详情

《程序是怎样跑起来的》第一章有感

   在没有读《程序是怎样跑起来的》,这本书之前,我对于第一章所讲解CPU在脑子中只是知道它相当于是计算机的大脑,内部由数百万至数亿个晶体管构成。这本书在开始是就先对CPU的内部结构进行了解析,知道了CPU... 查看详情

读《程序是怎样跑起来的》第二章有感

...后作者提出了一个问题,就是如何给不懂计算机的人介绍程序的工作原理,脑子里突然想到老师给我们推荐过的费曼学习法,只有自己熟练掌握了要讲述的内容,才能条理清晰地讲给他们,所以在这里也向大家推荐这个学习方法... 查看详情

读《程序是怎么跑起来的》第一章有感

...和时钟四个部分构成,各部分之间由电流信号相互连通。程序是把寄存器作为对象来描述的。寄存器有许多不同的种类,与其种类相对应的是其不同的功能。程序的流程分为循序执行,条件分支和循环三种。cpu的执行比较是由cpu... 查看详情

读《程序是怎么跑起来的》第三章有感

此章开头作者就举出了一个例子,一个将0.1累加100次的程序,如果不是作者强调,我也肯定会认为最后的运行结果是10,毕竟程序的写入没有什么错误。读了后面之后才意识到一些十进制的小数无法用二进制表示,导致运行结果... 查看详情

读《程序是怎么跑起来的》第四章有感

开始读这一章的时候有点小懵逼,尤其是看到作者提出的问题,感觉十分陌生。接着看下去了解到内存实际上是一种名为内存IC的电子元件,内存IC中有电源、数据信号、控制信号等用于输入输出大量引脚。接下来讲解了内存IC中... 查看详情

《程序是怎样跑起来的》第五章有感

 存储部件内存和磁盘从都具有存储程序命令和数据这点来看的功能是相同的。从存储容量来看,内存是高速高价,而磁盘是低速低价。内存主要是指主内存(负责存储CPU中运行的程序指令和数据的内存)磁盘主要是指硬盘。... 查看详情

读《程序是怎样跑起来的》第二章有感

通过学习这一章,我知道了二进制中位权和基数到底指什么,左移只要在空出来的低位补0,移位过程中最高位或最低位溢出的数字丢弃了即可,移位运算可以通过数位移动来代替乘法运算和除法运算类似于十进制形成倍数关系... 查看详情

读《程序是怎么跑起来的》第二章有感

第二章主要是讲解的二进制首先展示了二进制向十进制的转换巩固了在课堂上的知识。此外还了解到。IC的特性,导致了计算机的信息数据只能用二进制来处理。移位运算中,左移产生的低位由零来补足。同时移位运算也可以通... 查看详情