我有一大堆代码崩溃,除非我建立优化关闭。我正在构建LLVM编译器2.0
我想通过使用#pragma编译器指令包装有问题的代码来关闭优化;或者关闭整个文件的优化。
我一直在挖掘铿锵手册和代码;但没有任何事情发生在我身上。
有谁知道如何更改单个CU的优化(而不是整个应用程序)?
答案 0 :(得分:15)
您可以在Xcode中设置每个文件的编译器标志。在Xcode 4中(我假设您因LLVM 2.0参考而使用),首先在左侧项目浏览器中选择项目。转到Build Phases选项卡并展开Compile Sources构建阶段。
在那里,你可以设置每个文件的编译器标志,这样你就可以尝试转到有问题的文件并输入-O0
作为标志来尝试和禁用该文件的优化。
正如约翰内斯在his answer here中指出的那样,GCC有一些你可以为此设置的属性,但这些属性可能不在LLVM中。此外,根据那里的评论,似乎这些甚至不是Apple用于构建iOS应用程序的定制GCC。