次のコードは、Xcode で作成されたテンプレート プロジェクトでクラッシュします。
int main(int argc, char *argv[])
{
uint64_t t64 = 100000;
double s = (double)t64; // Crash!
...
クラッシュには次のコンソール出力が伴い、2.2.1 デバイスで発生しますが、3.0.1 デバイスでは発生しません。Thumb または ARM のコンパイルの両方で発生します。
dyld: lazy symbol binding failed: Symbol not found: ___floatundidf
Referenced from: /var/mobile/Applications/15E9DC65-324D-4C3A-8477-DC8CFFA67DC1/MyApp.app/MyApp
Expected in: /usr/lib/libgcc_s.1.dylib
dyld: Symbol not found: ___floatundidf
Referenced from: /var/mobile/Applications/15E9DC65-324D-4C3A-8477-DC8CFFA67DC1/MyApp.app/MyApp
Expected in: /usr/lib/libgcc_s.1.dylib
この問題は Base SDK 3.0 でのみ発生し、2.2.1 用にコンパイルすることは問題ありません。残念ながら、私は 3.0 の拡張機能を持っています。