代码之家  ›  专栏  ›  技术社区  ›  Alphaneo

作为参数的头文件名

  •  0
  • Alphaneo  · 技术社区  · 15 年前

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

    我的解决方案: 我把50多个文件都放进去,写了一份申请表。然后我将数组的所有元素转储到指定的格式中。

    我的环境: Visual Studio V6、Windows XP

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

    我的问题:

    不过有点神智清醒,

    • 有什么方法可以提到 来自某个命令行的标题 争论还是什么?
    • 我只是想避免重新编译 每次来源…
    3 回复  |  直到 14 年前
        1
  •  2
  •   Jonathan Leffler    15 年前

    标准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
    

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

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

        2
  •  1
  •   Jonathan Leffler    15 年前

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

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

        3
  •  0
  •   Alphaneo    15 年前

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

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

    解决办法不是我想要的,但我还是想知道最好的办法。