Objective c -[NSDate-timeintervalncedate:]在GCC 4.2上返回非常小的数字,但在iOS4.3模拟器上的LLVM-GCC 4.2上工作正常

Objective c -[NSDate-timeintervalncedate:]在GCC 4.2上返回非常小的数字,但在iOS4.3模拟器上的LLVM-GCC 4.2上工作正常,objective-c,gcc,llvm,llvm-gcc,Objective C,Gcc,Llvm,Llvm Gcc,在iOS 4.3模拟器上,以下代码返回一个非常小的数字:1e-700在GCC 4.2上,但在LLVM-GCC 4.2上工作正常。有什么想法吗 NSDate *selectedDate = self.datepicker.date; // guaranteed to be before now NSTimeInterval interval = [nowDate timeIntervalSinceDate:selectedDate]; 这些值随每次运行而变化,但下面是一组输出示例 所选日期:19

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

NSDate *selectedDate = self.datepicker.date; // guaranteed to be before now
NSTimeInterval interval = [nowDate timeIntervalSinceDate:selectedDate];
这些值随每次运行而变化,但下面是一组输出示例

所选日期:
1981-06-02 16:27:34+0000

现在日期:
2011-08-03 05:18:36+0000

间隔时间:
5.489011535689859e-277


在GDB中运行
[nowDate TimeIntervalsIncestDate:selectedDate]
(这是我的期望值)

意外值是溢出。

这可能是GCC的错误。我想你应该填写一份bug报告,看看苹果有什么要说的。

你如何确定GCC4.2上的
interval
包含1e-700?我用以下命令在GDB中打印它:p(NSTimeInterval)间隔您在进行此测试时是否可以显示selectedDate和nowDate的值?我根据iOS 5.1重新测试,无法复制issue@HeathBorders听起来你的问题自己解决了。请将其标记为已关闭。我使用iOS 5.1重新测试,无法复制该问题。