我正在开发一个依赖编译器优化的项目,但我需要一些不被 GCC 优化的代码。这可能吗?
最佳答案
GCC 从 4.4 开始。 #pragma GCC optimize ("whatever")
.我还建议包装特定的代码,即用 #pragma GCC push_options
用这个 pragma 注释。和 #pragma GCC pop_options
.第一个将保存更改前的选项,后者将在之后恢复它们,其余代码将使用全局选项编译。
有关任何字符串的详细信息,您应该查看 gcc 文档,这里是其中最重要的部分:Arguments can either be numbers or strings. Numbers are assumed to be an optimization level. Strings that begin with O are assumed to be an optimization option, while other options are assumed to be used with a -f prefix.
.
这意味着如果您不想对您的特定代码进行任何优化,您的任何内容都应该是“0”。
关于optimization - 有没有办法告诉 GCC 不要优化特定的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5580140/