电脑版
首页

搜索 繁体

正文 第19节

热门小说推荐

最近更新小说

编译又是怎么个意思呢?最初的图纸,也就是没有经过预处理的源代码,是人写的,一般懂相关语言(比如C语言)的人都能看懂。预处理之后的文件,虽然不那么直观了(TOTAL_NUMBER看着是不是比18353226直观?光写个18353226还以为是谁的QQ号呢),但终究只是做了下替换,还是人类可以看懂的。这样的代码经过gcc的编译之后,就不是普通人类可以看懂的源代码了,而是只有终极牛人才能读懂的汇编代码。汇编代码就比较贴近底层的机器码了,里面描述的都是一些基本的操作。打个比方吧,就比如描述切菜的过程,用c语言描述出来就像是“将黄瓜切片”,这么一句就搞定了。要是用汇编,那就是:左手扶住黄瓜,右手拿起刀,移动刀到黄瓜顶部,刀落下,到抬起,刀向黄瓜后部移动4毫米,刀落下,刀抬起,放下刀,走出厨房,走进卧室,找到创可贴,贴在左手食指上………… 好吧,总之,汇编是一种面向机器的,很复杂的程序设计语言。gcc的任务就是把c语言的源代码转换成贴近机器语言的汇编代码,为下一步as的工作做好准备。

as拿到汇编代码后,对这样的代码再进行处理,得到真正的机器码,这个过程,也叫汇编。汇编之前的汇编代码是终极牛人能看的,那么机器码压根就不是人看的。汇编程序中至少还有些操作的助记符,比如什么add啊,mov啊之类的。寄存器也是有名字的,比如叫A,叫R1之类的。但是到了机器码,这些都没有了,这些都换成了各种各样的数字,一句人话都没有了。还说且黄瓜的事,要是用机器码来描述,那就相当于说:用32号设备扶住87号物体,24号设备拿起126号物体,移动126号物体到87号物体顶部,做2635号动作,再做2636号动作……

Loading...

未加载完,尝试【刷新】or【关闭小说模式】or【关闭广告屏蔽】。

尝试更换【Firefox浏览器】or【Chrome谷歌浏览器】打开多多收藏!

移动流量偶尔打不开,可以切换电信、联通、Wifi。

收藏网址:www.finalbooks.work

(>人<;)