目标: 我有一个头文件列表(大约 50 个), 每个头文件都有几个包含常量元素的数组。 我需要编写一个程序来计算数组的元素。并创建一些其他形式的输出(将由硬件组使用)。
我的解决方案: 我包括了所有 50 个奇数文件并编写了一个应用程序。然后我将数组的所有元素转储为指定的格式。
我的环境: Visual Studio V6、Windows XP
我的问题: 每次有一组新的头文件时,我现在更改 VC++ 项目设置以指向一组新的头文件,然后重建。
我的问题:
虽然有点疯狂,
- 有没有办法提到 来自某些命令行的标题 争论什么的?
- 我只是想避免重新编译 每次来源...
最佳答案
标准 C 和 C++ 允许您在以下位置使用宏:
#include SOME_MACRO_HERE
对于 #include
指令,SOME_MACRO_HERE
的扩展值必须看起来正确。
因此,原则上,您可以使用 MSVC 等效于:
cc -DSOME_MACRO_HERE='<actualheader.h>' sourcefile.c
或者:
cc -DSOME_MACRO_HERE='"actualheader.h"' sourcefile.c
这似乎为您提供了第一个子弹问题的答案。
我不相信您可以避免重新编译 - 不过您可以(也许)避免编辑。
关于c - 头文件名作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1576369/