头文件名作为参数

时间:2009-10-16 06:05:19

标签: c visual-studio header-files project-files

目的: 我有一个头文件列表(大约50个), 并且每个头文件都有很少的具有常量元素的数组。 我需要编写一个程序来计算数组的元素。并创建一些其他形式的输出(将由硬件组使用)。

我的解决方案: 我包括了所有50个奇数文件并编写了一个应用程序。然后我将数组的所有元素转换为指定的格式。

我的环境: Visual Studio V6,Windows XP

我的问题: 每次有一组新的Header文件时,我现在正在更改VC ++项目设置以指向新的头文件集,然后重建。

我的问题:

虽然有点理智,

  • 有什么办法可以提一下 某些命令行的标题 争论还是什么?
  • 我只是想避免重新编译 每次来源......

3 个答案:

答案 0 :(得分:2)

标准C和C ++允许您在:

中使用宏
#include SOME_MACRO_HERE

SOME_MACRO_HERE的扩展值必须看起来正确#include指令。

因此,原则上,您可以使用MSVC等效于:

cc -DSOME_MACRO_HERE='<actualheader.h>' sourcefile.c

或者:

cc -DSOME_MACRO_HERE='"actualheader.h"' sourcefile.c

这似乎为您提供了第一个子弹问题的答案。

我不相信你可以避免重新编译 - 你可以(也许)避免编辑。

答案 1 :(得分:1)

在编译时包含标头,因此无法在运行时更改/添加标头。

为什么不编写一个简短的Perl脚本来解析头文件并计算数组项的数量?

答案 2 :(得分:0)

实际上我找到了一个有效的解决方案。

  • 步骤1:头文件名将 预定义
  • 步骤2:标题(设置)与不同 参数值将被放入 不同的文件夹
  • 步骤3:编译时,指向 具有适当标题的路径

解决方案不是我想要的,但仍然是我能想到的最好的解决方案。