编译和链接【三】
前言
在我大一的时候, 我使用VC6.0对C语言程序进行编译链接和运行 , 然后我接触了VS, Qt creator等众多IDE, 这些IDE界面友好, 使用方便, 例如我最喜欢的VS,一键编译运行。对于大一的我,不需要了解编译的整个过程就可以运行,这无疑是非常棒的,并且增加了我对编程的兴趣,同时也简化了我后续的软件开发, 我只需要关心业务和功能代码即可。
但是今天, 我不想“逃课了”,欢迎来到我的频道,本系列 将会介绍编译中的一系列细节。
在正式开始之前,我要推荐两本书,一本是《程序员的自我修养》,另一本是《鲸书》,这两本书对编译的整个过程做了非常详细,非常完备的介绍,但是恰恰如此,我想很多时候,很多知识在工作上是用不到的,也许这句话在很多年多的我会反驳,但是站在工作一年的现在,我将会给你介绍,我所了解的编译和链接。
系列文章入口
关注我~持续更新
编译过程
在汇编语言中,通常是以段作为标识,来完成某个功能,例如,你可能会看到这样的代码:
start:
# code...
goto errHandle
errHandle:
# code...
上面的代码片里就是在某种情况下,发生出错的时候,统一的跳转到错误处理函数里,而从C/C++的翻译单元到汇编文件的转换,其实就是把C/C++代码中的函数,代码块转换为汇编代码中的代码段,而C/C++程序里的全局变量,静态变量和常量则转换为汇编中的数据段和只读段