无法通过pragma禁用LLVM优化

Dav*_*ave 8 pragma llvm clang ios

我有一大堆代码崩溃,除非我建立优化.我正在使用LLVM编译器2.0构建

我想通过使用#pragma编译器指令包装有问题的代码来关闭优化; 或关闭整个文件的优化.

我一直在挖掘铿锵手册和代码; 但没有任何事情发生在我身上.

有谁知道如何更改单个CU的优化(而不是整个应用程序)?

Bra*_*son 15

您可以在Xcode中设置每个文件的编译器标志.在Xcode 4中(我假设您因LLVM 2.0参考而使用),首先在左侧项目浏览器中选择项目.转到Build Phases选项卡并展开Compile Sources构建阶段.

在那里,您可以设置每个文件的编译器标志,因此您可以尝试转到违规文件并输入-O0作为标志来尝试和禁用该文件的优化.

正如约翰内斯在他的回答中指出的那样,GCC有一些你可以为此设置的属性,但这些属性可能不在LLVM中.此外,根据那里的评论,似乎这些甚至不是Apple用于构建iOS应用程序的定制GCC.