【问题标题】:How to define a macro in a makefile for enabling a feature in a C header?如何在生成文件中定义宏以启用 C 标头中的功能?
【发布时间】:2011-07-22 22:50:02
【问题描述】:

我想在其中一个头文件中定义一个宏。我可以通过makefile设置吗?

例如,我想设置一个宏“PAGING_ON”,我想将它作为源文件的预处理器宏。 (该项目是 C 语言。)是否可以通过 Makefile 进行设置?

【问题讨论】:

    标签: c makefile gnu-make


    【解决方案1】:

    我知道的大多数编译器都有这个选项;例如,您可以在 gcc (-DPAGING_ON) 中使用编译标志 -D

    对于 Visual C(和变体),它是 /D

    【讨论】:

    • /D。你可以在这里看到更多:msdn.microsoft.com/en-us/library/fwkeyyhe(v=vs.71).aspx
    • 通常,您需要调整一个宏,CFLAGS,但简单地设置 CFLAGS 通常不是最好的方法。您必须查看生成文件的规则是如何构建的。编译规则通常使用 $(CC) $(CFLAGS) -c $* 之类的东西,但宏 CFLAGS 可能由许多其他宏构建而成。
    猜你喜欢
    • 2020-03-05
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    相关资源
    最近更新 更多