【发布时间】:2012-10-19 07:47:50
【问题描述】:
抱歉我的英语不好。
例如:
//
// File : Main.cpp
//
#include <stdlib.h>
int main()
{
printf(TEST_DEFINE);
return (EXIT_SUCCESS);
}
标题:
//
// File : test_define.h
//
#ifndef TEST_DEFINE_H_INCLUDED
#define TEST_DEFINE_H_INCLUDED
#define TEST_DEFINE
#endif
我想通过编译器或其他程序包含该标头。我不想在 CPP 文件中包含此标头。
我该如何处理?我对所有提案持开放态度。
这种情况非常棘手,但对于我的 POC 程序来说是必需的。
【问题讨论】:
-
Microsoft VC 编译器有一个
/FI开关,强制在每个源中包含标头。 -
您听说过 gcc 编译器选项 -Dname=value 吗?
-
为了它,让我们问...为什么你需要这样做?您要问的问题在标准 C++ 中并不值得做,而您尝试解决的问题可能会以其他方式更好地解决。这种方式是什么,当然取决于问题。
-
“动态”到底是什么意思?
-
谢谢,我去探索你的提议,我所说的“动态”是指,不在 CPP 文件中声明标题。