控制C++中的编译顺序
Controlling order of compilation in C++
假设您在两个不同的文件A.cpp
和B.cpp
中分别有两个类A
和B
,如何确保class A
在class B
之前编译。
你不能。您也不应该在意,因为不同翻译单元的编译是独立的
使用此生成文件:
x.out: b.o
g++ a.o b.o -o x.out
b.o: a.o b.cpp
g++ b.cpp -c
a.o: a.cpp
g++ a.cpp -c
a.cpp将在b.cpp 之前编译
这取决于您的IDE,或者您用来构建程序的任何东西。
如果都在标题中,您可以简单地在B.h中#包含A.h。
相关文章:
- CMake-按正确顺序将项目与C运行时对象文件链接
- 为什么更改包含 psapi.h 的顺序会产生编译错误?(标识符 BOOL 未定义)
- 类型名 C++ 和编译顺序
- 验证(使用 static_assert)元组类型是否遵循某种顺序(有状态编译时检查)
- 生成文件似乎以错误的顺序编译文件
- 编译顺序 Eclipse C++
- 用错误的标志顺序编译后,是否删除*.cpp文件
- 编译时随机化结构成员的顺序
- 在编译时检查销毁顺序约束
- 如何使用 cocoapods 修改编译顺序
- 不是同一编译单元的变量的构造顺序
- C++通过引用修改函数中的结构值(可能存在编译顺序问题)
- 如何在实践中解决项目编译中链接库的顺序问题
- C++Makefile编译顺序
- 为什么编译顺序在使用 std::map::insert() 时有时会导致分段错误
- 控制C++中的编译顺序
- c++标准和C语言在哪里说的是一样的:编译单元(.cpp文件)中的变量是按照声明的顺序初始化的
- 对象之间的比较按顺序引发编译错误
- 静态初始化顺序失败:相同的编译单元
- c++中的正向声明VS编译顺序错误,以避免包含递归标头