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

时间:2011-08-02 20:41:48

标签: objective-c gcc llvm llvm-gcc

在iOS 4.3 Simulator上,以下代码在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(这是我的期望值)

2 个答案:

答案 0 :(得分:0)

这可能是GCC的一个错误。我认为你应该填写一份错误报告,看看Apple有什么要说的。

答案 1 :(得分:-1)

意外值是溢出。