包括无导入标头文件的常数
Including constants without importing header file
我设置了一块代码来进行恒定整数参数(问题的维度),但它可以使用许多不同的维度运行。
我不想每次运行时都需要更改硬编码的尺寸,理想情况下,我会定义几个虚拟标头函数,这些功能基本上只是:
#ifndef dim_define_h
#define dim_define_h
const int dimension = [DIMENSION SPECIFIC TO THIS HEADER FILE];
#endif
然后,当编译时,我可以使用该实例所需的任何标头文件,例如:
g++ dimension_6.h code.cpp
有可能吗?在标头文件中定义常数,然后在另一个没有明确导入该标头文件的文件中使用它?
编辑:
我的下一个尝试是仅采用主函数,将其与尺寸定义一起在不同的文件中粘贴,然后副本。然后汇编看起来像:
g++ dim_specific_main.cpp lots.cpp more.cpp helpers.cpp
我认为它是通过现在的MAIN编译来实现的,这取决于所有辅助文件中定义的辅助功能。不幸的是,当它试图编译辅助功能时,需要在main.h中定义的常数,并且似乎已经忘记了它。
编辑2:我现在意识到,我正在尝试在需要在编译时知道的地方使用此变量,我认为链接在编译后发生,所以我认为这种特殊的方法不可能。
const int dimension = THE_DIMENSION;
然后用
编译g++ -DTHE_DIMENSION=6 code.cpp
不需要标头。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 挂起和取消挂起一个文件DLL
- 如何确定我已使用非编码文件到达 EOF?
- 命名空间中具有.h和.cpp文件的类
- 如何使用ndk-build.cmd构建Android.so文件
- 从包含m行的文件中提取n行,必要时(惰性地)重复该文件
- 读取文件并输入到矢量中
- 在C++中查找文件
- c++库的公共头文件中应该包含什么
- 我可以定义一个(键入的)常数,该常数确定不占据可执行文件中的空间
- 在标题或实现文件中定义常数的优点
- 包括无导入标头文件的常数
- 如果需要测试,则C 将常数变量放在CC文件中
- 在另一个带有名称空间的标头文件中定义常数
- CSIDL常数为用户文件夹为Windows XP