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

iphone – 如何处理编译器优化问题,第1张

概述我的iPhone应用程序遇到了烦人的问题.每当我将优化级别设置为“无”以外的其他级别时,我就会遇到计算错误.这只发生在为iPhone SDK构建时(iPhone模拟器总是很好). 我不介意在发布模式下禁用优化,但是当我这样做时应用程序有点太慢了. 应用程序很复杂,因此很难找到过于积极优化的部件. 我认为问题出在GCC方面,因为它似乎在优化ARM体系结构的代码时遇到了问题. 有没有办法只禁用代码的某 我的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) {    /* ... */}
总结

以上是内存溢出为你收集整理的iphone – 如何处理编译器优化问题全部内容,希望文章能够帮你解决iphone – 如何处理编译器优化问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1035103.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存