发布网友 发布时间:2022-03-22 23:52
共2个回答
懂视网 时间:2022-03-23 04:13
编译器主要用来把源代码编译成目标文件,链接器则用来把目标文件和库文件链接成可执行文件。
编译器对源文件进行编译,在这个过程中,编译器会进行一系列的语法检查。如果编译通过,就会把对应的CPP转换成OBJ文件。链接器进行链接的时候,首先决定各个目标文件在最终可执行文件里的位置,然后访问所有目标文件的地址重定义表,对其中记录的地址进行重定向,然后遍历所有目标文件的未解决符号表,并且在所有的导出符号表里查找匹配的符号,并在未解决符号表中所记录的位置上填写实现地址。最后把所有的目标文件的内容写在各自的位置上,再作一些另的工作,就生成一个可执行文件。
热心网友 时间:2022-03-23 01:21
编译器将原代码c或c++编译成汇编asm文件,汇编器将asm文件汇编为目标文件obj(二进制文件),连接器将obj和lib等连接为最后的out文件(二进制)