当前位置:  开发笔记 > IOS > 正文

如何处理编译器优化问题

如何解决《如何处理编译器优化问题》经验,为你挑选了1个好方法。

我的iPhone应用程序遇到了烦人的问题.每当我将优化级别设置为"无"以外的其他级别时,我就会遇到计算错误.这只发生在为iPhone SDK构建时(iPhone模拟器总是很好).

我不介意在发布模式下禁用优化,但是当我这样做时应用程序有点太慢了.

应用程序很复杂,因此很难找到过于积极优化的部件.

我认为问题出在GCC方面,因为它似乎在优化ARM体系结构的代码时遇到了问题.

有没有办法只禁用代码的某些部分的优化?你会如何处理这类问题?



1> Johannes Sch..:

是的,这完全有可能.GCC有一个属性:

/* disable optimization for this function */
void my_function(void) __attribute__((optimize(0)));

void my_function(void) {
    /* ... */
}

将该函数的优化级别设置为-O0.您可以启用/禁用特定优化:

/* disable optimization for this function */
void my_function(void) __attribute__((optimize("no-inline-functions")));

void my_function(void) {
    /* ... */
}

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有