发布网友 发布时间:2022-03-22 23:52
共2个回答
懂视网 时间:2022-03-23 04:13
编译器主要用来把源代码编译成目标文件,链接器则用来把目标文件和库文件链接成可执行文件。
编译器对源文件进行编译,在这个过程中,编译器会进行一系列的语法检查。如果编译通过,就会把对应的CPP转换成OBJ文件。链接器进行链接的时候,首先决定各个目标文件在最终可执行文件里的位置,然后访问所有目标文件的地址重定义表,对其中记录的地址进行重定向,然后遍历所有目标文件的未解决符号表,并且在所有的导出符号表里查找匹配的符号,并在未解决符号表中所记录的位置上填写实现地址。最后把所有的目标文件的内容写在各自的位置上,再作一些另的工作,就生成一个可执行文件。
热心网友 时间:2022-03-23 01:21
1.预处理首先源代码文件(.c/.cpp)和相关头文件(.h/.hpp)被预处理器cpp预编译成.i文件(C++为.ii)。预处理命令为:gcc–Ehello.c–ohello.i预编译过程主要处理那些源代码中以#开始的预编译指令,主要处理规则如下:u将所有的#define