c - 头文件名作为参数

标签 c visual-studio header-files projects-and-solutions

目标: 我有一个头文件列表(大约 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/

相关文章:

c# - Visual Studio : Collecting the members of an interface in the same region

android - 在 C4droid 中包含新的头文件

c - 多线程如何选择-c

c - 警告 : espcomm_sync failed error: espcomm_open failed error: espcomm_upload_mem failed

git - 无法在代码镜头 : Unable to determine the team project collection 中看到 vsts 工作项

C++ - 类函数可以在 header 之外声明吗?

c++ - 你如何旋转给定的图像?

c++ - 在 CPU 上并行减少数组

c - 复合语句( block )是否被 ANSI C 中的括号表达式包围?

c# - ASP.NET Web 应用程序和 AssemblyInfo.cs