在C源文件顶部添加GCC选项

13

是否有可能在C源文件的顶部放置一些内容,例如

// GCC_OPTIONS=-g,-Wall

你希望的是每次编译这个文件时,会自动将这些选项添加到gcc中吗?

2个回答

11

对于某些标志,是可以的。您可以通过以下方法推送和弹出诊断设置

#pragma GCC diagnostic error "-pedantic"
#pragma GCC diagnostic warning "-Wall"

对于每个函数单独设置优化级别也是可能的,具体方法请参考函数特定选项指示符

#pragma GCC optimize ("string"...)

这些#pragma定义会影响它们之后源文件中的所有代码。

有关更多信息,请参阅以下其他问题:


这两个选项都不等同于他所询问的选项。 - Matthew Flaschen
@MatthewFlaschen 这些设置会影响源文件中后面定义的所有函数,因此在某种程度上它们可以等效:将它们放在顶部,它们就有点像全局变量。 - Mingye Wang
很遗憾,似乎没有调试信息:https://dev59.com/CUvSa4cB1Zd3GeqPcCQB - Ciro Santilli OurBigBook.com
有没有一个用于设置-f/-fno标志(例如,-fno-ipa-icf)的编译指示? - Petr Skocik

1
不需要。有些编译器选项有#define等价物,但这些没有。这应该放在您的make文件(或等效文件)中。使用GNU Make:
CFLAGS += -g -Wall

"-Wall" 有一个源代码等价物。 - Matt Joiner
@Matt,这是什么?你的回答没有给出答案,而且#pragma GCC diagnostic warning "-Wall"在GCC 4.4中肯定不起作用。 - Matthew Flaschen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接