-[NSDate timeIntervalSinceDate:] 在 GCC 4.2 上返回非常小的数字,但在 iOS4.3 模拟器上的 LLVM-GCC 4.2 上按预期工作

发布于 2024-11-28 02:19:21 字数 587 浏览 2 评论 0原文

在 iOS 4.3 模拟器上,以下代码在 GCC 4.2 上返回一个非常小的数字:1e-700,但在 LLVM-GCC 4.2 上按预期工作。有什么想法吗?

NSDate *selectedDate = self.datepicker.date; // guaranteed to be before now
NSTimeInterval interval = [nowDate timeIntervalSinceDate:selectedDate];

这些值随着每次运行而变化,但这里是输出 selectedDate 的示例集

1981-06-02 16:27:34 +0000

nowDate:2011-08-03 05:18: 36 +0000

间隔:5.489011535689859e-277

运行GDB 中的 [nowDate timeIntervalSinceDate:selectedDate]952001462.97236204 (这是我的预期值)

On iOS 4.3 Simulator, the following code returns a very small number: 1e-700 on GCC 4.2, but works as expected on LLVM-GCC 4.2. Any ideas?

NSDate *selectedDate = self.datepicker.date; // guaranteed to be before now
NSTimeInterval interval = [nowDate timeIntervalSinceDate:selectedDate];

these values change with each run, but here is an example set of output

selectedDate: 1981-06-02 16:27:34 +0000

nowDate: 2011-08-03 05:18:36 +0000

interval: 5.489011535689859e-277

running [nowDate timeIntervalSinceDate:selectedDate] in GDB: 952001462.97236204 (this is my expected value)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

思念满溢 2024-12-05 02:19:21

这可能是 GCC 的一个错误。我认为你应该填写一份错误报告,看看苹果怎么说。

This might be a bug with GCC. I think you should fill a bug report and see what Apple has to say.

戏蝶舞 2024-12-05 02:19:21

意外值是溢出。

The unexpected value is an overflow.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文