回答
C文件不是由编译器组合的,而是由linker组合的。根据您编译代码的方式,这可能会对您隐藏。
编译器将为每个C文件将每个C文件编译为object file。然后链接程序将把这些目标文件合并成可执行文件或库文件。
2个选择:
的
.c
文件传递给编译器的命令行,都在一起,一个“编译和链接都在一个”命令。您通常只对玩具和非常小的项目做这件事单独编译每个
.c
文件(将其作为单独的编译命令行),生成.o
文件。然后将所有这些.o
文件一起传递给链接器(通常它与编译器的命令相同......)以创建可执行文件。这样,如果您更改.c
文件,则只需编译该文件(以再次创建其.o
文件)和链接,节省大量时间。
而选项3,使用'make'或类似的系统为你编排编译(注意它将采用选项2来完成它的工作)。 –
@JonathanLeffler'make'只是为你运行命令。对于这个问题,你可以回答“把文件交给知道如何去做的人”。它什么都不教。另外,你必须编写'Makefile'。 – rabensky
- 1. 合并.h和.m文件
- 2. 混合C和汇编文件
- 3. 混合C和C++
- 4. c和C++混合
- 5. C++ .h和.lib文件到C#
- 6. CPP | .h文件(C++)
- 7. c#,C++和C的混合
- 8. 混合C/C++头文件可以包含另一个混合头文件吗?
- 9. 混合JavaScript和C#
- 10. 混合c#和vC++
- 11. 混合gtk +和C++
- 12. 用CMAKE混合C和C++
- 13. 混合C和Objective-C
- 14. 混合C++和Objective C的
- 15. 问题混合C和C++
- 16. ASP.NET - App_Code文件 - 混合VB和C#在同一文件夹
- 17. .h,.dll和.lib混淆
- 18. C和.h文件中的结构
- 19. C++ .h和.cpp文件分开
- 20. C++ Makefile与外部h和o文件
- 21. Makefile为多个.c和.h文件
- 22. C++包含一个“.h”文件,函数重复混淆
- 23. 混合问题目标C和C++在单个文件中
- 24. 混合C和C++预编译头文件
- 25. 如何将Blender混合(或obj)文件转换为Qualcom Vuforia .h文件
- 26. 关于C程序中的.c文件和.h文件?
- 27. 从混合数据C阅读++文件
- 28. 在Swift Pod中混合Objective-C文件
- 29. C++着的.h头文件
- 30. 混合Objective-C和C++和OpenCV
请仔细阅读你的问题,并问问自己 - 这可以合理回答,没有进一步的信息/背景?你知道如何使用'makefile'吗? – Floris