我有一个包含许多* .c文件的工作区,我编译它们。 (我可以使用任何工具链说MSVC6.0,或gcc等)
首先编译哪个源文件?
如何确定随后编译的文件的顺序?
答案 0 :(得分:9)
C标准未规定编译顺序。
由于不需要像C ++那样构造全局对象,因此不存在编译顺序与C相关的情况。
答案 1 :(得分:5)
VC :按项目文件夹,然后按字母顺序排列 GCC :根据make文件顺序
为什么这很重要?,完成顺序不会计量并且不会影响最终的构建结果。
答案 2 :(得分:5)
通常,这在任何地方都没有指定。特别是当使用例如。并行make,编译的顺序几乎是任意的。
答案 3 :(得分:2)
使用make
:
作为jpalecek suggests,并发构建可能更复杂。
GNU的一些引用使文档成为:
目标的双冒号规则按它们在makefile中出现的顺序执行。
...
如果您指定了多个目标,请按照您为其命名的顺序依次制作流程。
答案 4 :(得分:1)
如果重要,那么你真的需要在你的makefile中设置依赖项,以确保在其他文件之前构建一些依赖项。你真的应该先问问自己为什么重要。