【发布时间】:2010-11-15 04:48:31
【问题描述】:
我需要通过我的头文件覆盖某些宏定义。而且我不允许更改源代码。而且我必须使用 gcc,但如果有人知道任何其他编译器上有类似的东西,那么它也会有所帮助。
这是我真正需要的:
假设我有很多 .c 文件的代码库。这些 .c 文件包括 .h 文件。在为每个文件包含所有 .h 文件之后,我希望编译器的行为就像我有另一个 extra.h 文件一样,我想在调用编译器时指定该文件。我在那个 .h 文件中所做的是 #undef 一些宏,并按照我想要的方式重新定义宏。
注意:我知道 gcc 中的 --preinclude 选项,但使用 --preinclude 会通过原始源代码的 .h 覆盖我的 extra.h。我需要的是某种帖子包含选项。
【问题讨论】:
-
我不知道为什么一行变成了大字体和粗体。如果您觉得这很烦人,我深表歉意。
-
为什么不能改源代码?这与家庭作业有关吗?
-
不,这不是我的作业。我需要包装某些宏调用并收集并进行一些预处理和后处理。我不能更改源代码的原因是客户希望他们的代码被触动。
标签: gcc c-preprocessor