加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 如何处理编译器优化问题

发布时间:2020-12-14 18:55:52 所属栏目:百科 来源:网络整理
导读:我的iPhone应用程序遇到了烦人的问题.每当我将优化级别设置为“无”以外的其他级别时,我就会遇到计算错误.这只发生在为iPhone SDK构建时(iPhone模拟器总是很好). 我不介意在发布模式下禁用优化,但是当我这样做时应用程序有点太慢了. 应用程序很复杂,因此很难
我的iPhone应用程序遇到了烦人的问题.每当我将优化级别设置为“无”以外的其他级别时,我就会遇到计算错误.这只发生在为iPhone SDK构建时(iPhone模拟器总是很好).

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

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

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

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

解决方法

是的,这完全有可能.海湾合作委员会有一个 attribute:

/* 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) {
    /* ... */
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读