我在 Visual Studio 2012 中有一个 C++ 库项目,包含这些文件
A.h, A.cpp: defines function Do_A();
B.h, B.cpp: defines function Do_B();
C.h, C.cpp: defines function Do_C();
功能是这样实现的
void Do_A()
{
Do_B();
}
void Do_B()
{
Do_C();
}
void Do_C()
{
printf("Do C");
}
这里我想强制A、B、C之间的依赖关系。然后我构建。
但是当查看输出窗口时,我看到
A.cpp
B.cpp
C.cpp
为什么A先编译?什么影响源文件的编译顺序?
该依赖关系是在链接时,而不是编译时(因此不会在此处显示)。
构建脚本内的位置会影响编译顺序(除了编译时依赖性之外,对此没有任何假设),但这在一定程度上是不正确的,因为构建可以并行化。也就是说,A 和 B 可以同时构建在两个不同的内核上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)