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

Hea*_*ers 5 gcc objective-c llvm llvm-gcc

在iOS 4.3 Simulator上,以下代码返回一个非常小的数字:1e-700在GCC 4.2上,但在LLVM-GCC 4.2上按预期工作.有任何想法吗?

NSDate *selectedDate = self.datepicker.date; // guaranteed to be before now
NSTimeInterval interval = [nowDate timeIntervalSinceDate:selectedDate];
Run Code Online (Sandbox Code Playgroud)

这些值随每次运行而变化,但这是一组示例输出

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

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

间隔: 5.489011535689859e-277

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

Dav*_*ray 0

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