gpt4 book ai didi

iphone - iPhone 3G 上的坐标全错了?这可能是你的编译器

转载 作者:行者123 更新时间:2023-12-03 18:27:24 25 4
gpt4 key购买 nike

注意:这是我已经找到答案的问题。看来找到一个有趣的答案后才发布问题is encouraged ,所以我发布这个。其他人可能会遇到同样的问题并发现这很有用。

<小时/>

我有一个可以生成图表的 iOS 应用程序。发布更新后不久,一位用户向我发送了这封令人 panic 的电子邮件:

"the latest update has modified the curves ... not seen more growth curves and inserted data are represented as a line descending ... before you could see perfectly well

Help me"

我让他发送屏幕截图并提供更多详细信息。他有一部 iPhone 3G,这就是女孩图表的样子。大多数点都绘制在错误的坐标处:它们似乎是绘制在 (x,x) 而不是 (x,y)。

Screenshot of the buggy display

与它应该看起来的样子进行比较(忽略颜色的差异 - 粉色适合女孩,蓝色适合男孩):

Screenshot of a correct display

经过多次实验,我向他发送了先前版本的重建版本(对他来说效果很好),但它仍然不起作用。所以最终看来更新中的代码更改与此无关。可能是什么解释?

最佳答案

iPhone初代和iPhone 3G使用armv6架构,后来的型号为armv7。回复this Stack Overflow question ,和an Apple developer forum thread指出 XCode 4.2 编译器生成的 armv6 Thumb 代码中存在一个问题,该问题导致对某些数据结构(特别是 CGPoint)的算术运算返回完全错误的结果。比如将x值写入y值。

解决方案是将-mno-thumb编译器选项添加到XCode项目中。这告诉编译器不要发出 Thumb 模式代码,从而绕过该错误。另一个解决方案是切换回早期的 XCode(iOS5 SDK 之前的版本),它没有此错误。

所以错误出在编译器中!多么酷啊? :) 在二十年的开发过程中,我还没有遇到过这样的事情。

这里的屏幕截图显示了在哪里添加此编译器选项(如果它对任何人有帮助的话):

enter image description here

关于iphone - iPhone 3G 上的坐标全错了?这可能是你的编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8391307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com