GCC 4.4.3中的功能特定优化

时间:2011-07-18 19:13:45

标签: c optimization gcc

参考我之前的问题here,我在GCC 4.4.3中发现了一个可能的错误,当它不支持优化源代码中的pragma时(虽然它说4.4.x以后它确实存在! )

#pragma GCC optimize ("O3")

__attribute__((optimize("O3")))

尝试了上述两个选项,但两者都在编译器本身中产生了编译时错误(请参阅上述链接中发布的错误消息快照)

现在我还有其他选择可以为我的C代码中的不同功能启用不同的优化级别吗?

2 个答案:

答案 0 :(得分:3)

来自online docs

  

假设数字是优化级别。假设以O开头的字符串是优化选项,而假定其他选项与-f前缀一起使用。

因此,如果您想要等同于命令行-O3,您应该只使用数字3而不是"O3"

我同意这是一个错误,不应该生成ICE,考虑reporting it以及一个小的测试用例给GCC人员。

答案 1 :(得分:0)

  

现在还有其他选项可以为不同的功能启用不同的优化级别   在我的C代码中?

您剩下的选择是将函数放在他们自己的.c文件中,并使用您想要的优化标志编译该.c文件。