【发布时间】:2019-05-09 15:17:51
【问题描述】:
// a.cpp
void foo() {
uint16_t var_in_a;
}
// b.cpp
void foo() {
uint16_t var_in_b;
}
// c.cpp
void foo() {
uint16_t var_in_c;
}
在此示例中,我必须在所有 .cpp 文件中包含 <stdint.h> 文件。我想避免这种活动。我想在我的 builder/IDEs 属性中指定这个 <stdint.h> 文件,并让它在每个 .cpp 文件中包含这个文件。
有没有办法让编译器在编译任何.cpp 文件时包含指定的文件?
请给出以下编译工具/IDE的答案
- 视觉工作室代码
- 视觉工作室
- g++
【问题讨论】:
-
这不是编译器的工作。某些语言的某些 IDE 提供此功能。 C++ 编译器没有。并且有充分的理由。
-
有没有办法让编译器在编译任何 .cpp 文件时包含指定的文件?.不要那样做。它阻止了代码的可移植性。在文件中明确包含您需要的所有内容以使其可移植。
-
您必须在某处明确说明。您可以制作一个“bucket/util”标头来提取常见的东西,但这可能会带来麻烦,或者查看预编译标头。您是要节省打字时间还是其他什么?
-
对于 Visual Studio 编译器:docs.microsoft.com/en-us/cpp/build/reference/…
标签: c++ visual-studio gcc g++