1.源程序的编译过程
<1>预处理过程
将源程序中的宏定义代码,头文件包含代码,替换成真实的实际代码
根据具体的宏定义,根据源程序中的条件编译代码,过滤掉多余的代码
处理源程序中的特殊符号,将特殊符号替换成合适的值
<2>编译过程
根据不同的源文件,采用不同的词法分析和语法分析方式,在确认所有的指令都符合语法规则之后,将其翻译成等价的汇编代码。
<3>汇编过程
是将汇编代码转换成机器指令的过程,经历这个过程后,源程序文件变成了目标文件,目标文件中所存放的就是和源程序等效的机器指令。
<4>链接接过程
对目标文件进行重定向,例如目标文件A需要使用目标文件B中的方法,就需要将文件A调用文件B的方法的地方和B文件对应的方法对应起来,在经历这样一个过程后,所有的目标文件就被链接成统一的目标文件集合。
在链接共享代码库的时候,根据链接库的方式的不同来处理不同的共享代码库。(动态链接库和静态链接库)
创建共享代码库的过程,就是将目标文件进行链接形成新的目标文件的过程,我们需要将共享代码库的创建和使用区别开来。
<1>预处理过程
将源程序中的宏定义代码,头文件包含代码,替换成真实的实际代码
根据具体的宏定义,根据源程序中的条件编译代码,过滤掉多余的代码
处理源程序中的特殊符号,将特殊符号替换成合适的值
<2>编译过程
根据不同的源文件,采用不同的词法分析和语法分析方式,在确认所有的指令都符合语法规则之后,将其翻译成等价的汇编代码。
<3>汇编过程
是将汇编代码转换成机器指令的过程,经历这个过程后,源程序文件变成了目标文件,目标文件中所存放的就是和源程序等效的机器指令。
<4>链接接过程
对目标文件进行重定向,例如目标文件A需要使用目标文件B中的方法,就需要将文件A调用文件B的方法的地方和B文件对应的方法对应起来,在经历这样一个过程后,所有的目标文件就被链接成统一的目标文件集合。
在链接共享代码库的时候,根据链接库的方式的不同来处理不同的共享代码库。(动态链接库和静态链接库)
创建共享代码库的过程,就是将目标文件进行链接形成新的目标文件的过程,我们需要将共享代码库的创建和使用区别开来。