程序编译的过程
--从源文件到可执行文件的过程?以hello.cpp为例
分为四个过程,分别是预处理,编译,汇编,链接。
预处理->hello.i去掉注释,展开宏定义,处理预编译指令
编译->hello.s将预处理的文件进行词法分析,语法分析,语义分析产生汇编代码文件
汇编->hello.obj把汇编代码翻译成目标机器指令,生成目标文件(包括代码段、数据段)
链接->hello.out或者hello.exe
其中链接分为静态链接和动态链接。
静态链接:是将汇编生成的目标文件.obj与引用到的库一起打包到可执行文件
动态链接:动态链接中引用的库是在程序运行时才被载入。不同的程序如果调用同一个库,那么在内存里只需要有一份该共享库的实例,避免了空间浪费。

浙公网安备 33010602011771号