c语言,编译器会对头文件单独编译吗?

编译器会对所有.c文件和.h文件进行单独编译。如果都成功了,再将他们链接在一起,生成可执行程序。

求助这句话是对是错,谢谢。

不能 编译链接时会将头文件放到源文件一起编译

编译前,先会把.h文件和.cpp文件合并成一个文件,然后再编译生成.obj文件,多个.obj文件加上链接库,生成可执行程序.exe或者是.dll


C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

可查看编译后形成的文件,编译器对每个cpp文件单独进行编译形成.o或.obj文件,然后再link成exe,而对于.h,由于#include“xx.h”,所以在预处理,将头文件的代码“复制插入”cpp文件中,编译器不对头文件进行单独的编译

编译器会对所有.c文件和.h文件进行单独编译。如果都成功了,再将他们链接在一起,生成可执行程序。

编译过程是3个步骤:

1.检查每个文件的准确性,单独编译;

2.对相关类库进行连接,生成目标文件obj;

3.最后生成可运行文件exe;