c语言里面的编译和链接是怎么回事?
1个回答
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
C/C++语言的完整编译过程是\x0d\x0a\x0d\x0a一、预编译\x0d\x0a\x0d\x0a处理#define #if #include这类#开头的语句,这些称为预编译指令。这个过程中会把.h文件和.c/.cpp文件组合成最终交给compile过程的原文件。这个原文件是不包含任何#开头的语句的。所有#define定义的宏也会被替换。\x0d\x0a\x0d\x0a二、编译\x0d\x0a把上面那个原文件编译成.o或者VC里是.obj文件。这个文件保存了机器码化的函数、函数的描述、全局变量的描述、乃至段的描述等等。\x0d\x0a\x0d\x0a三、连接\x0d\x0a把可执行程序需要的所有的编译过程产生的.o或者.obj文件组合到一起。(这里也包括.lib文件,.lib文件件本质上就是打包的.obj文件集合)。另外连接过程还会组合一些其他数据,比如资源、可执行文件头等等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询