C语言

  我们在学习计算机学科时,往往最先接触到的编程语言是C,它是所有语言中,最接近底层的高级语言之一,因而它具有执行速度快的优点。但它又具有开发周期长和对于经验不足的开发者极容易犯错的缺点。C语言应用范围广泛,你几乎可以在任何场景中看到它的影子。

C语言编译原理

  一个编写好的C代码经过编译成可执行程序需要经过以下4步:

    1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除(这一步并不会检车语法)

    2)编译:检查语法,将预处理后的文件编译生成汇编文件

    3)汇编:将汇编文件生成目标文件(二进制文件)

    4)链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去。

浅谈C语言编译原理

  由上图可知,一个C源代码首先会经过预处理,在这期间,会将宏定义展开、头文件展开,条件编译等,同时会去掉注释,预处理结束后会生成新的.c文件。再经由编译器,将新的.c文件编译成汇编文件,在此期间会检查语法。接着将汇编文件经由汇编模块生成机器可直接识别的目标文件,即二进制文件。最后目标文件通过链接器将启动代码和系统库链接在一起,生成最终的可执行程序。

发表回复