【发布时间】:2013-06-21 06:29:16
【问题描述】:
我在 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?什么影响源文件的编译顺序?
【问题讨论】:
-
顺便说一句,你为什么关心编译顺序?
-
@StefanoSanfilippo 有时我看到 VS 会先编译一个文件,所以我想知道
-
您不能强制构建顺序。您正在寻找的是一个函数原型。您通常将它们放在 .h 文件中。
-
谷歌一下,“c++ 函数原型”。你的 C++ 语言书也有介绍,你肯定有一本吗?
-
您不能强制构建顺序。使用 .h 文件中的函数原型,您不必关心构建顺序。
标签: visual-studio compiler-construction build dependencies