0

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

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

我的环境: Visual Studio V6、Windows XP

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

我的问题:

不过有点脑残

  • 有没有办法从一些命令行参数或其他东西中提及标题?
  • 我只是想避免每次都重新编译源代码......
4

3 回答 3

2

标准 C 和 C++ 允许您在以下位置使用宏:

#include SOME_MACRO_HERE

扩展值SOME_MACRO_HEREmust 看起来对于#include指令是正确的。

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

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

或者:

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

这似乎为您提供了第一个项目符号问题的答案。

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

于 2009-10-16T06:11:14.027 回答
1

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

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

于 2009-10-16T06:11:32.683 回答
0

实际上,我找到了一个可行的解决方案。

  • 步骤 1:头文件名将被预定义
  • Step-2: 不同参数值的Headers(set)会放在不同的文件夹中
  • 第 3 步:编译时,指向带有相应标头的路径

解决方案不是我想要的,但我还是能弄清楚。

于 2009-10-26T04:47:26.677 回答