iPhoneアプリ開発Tweet自分用のメモです。64ビット移行ガイド」からの抜粋です。float型からdouble型へ変わったとのことです。64ビット環境でも正常に動作するコードを記述するために・64ビットlong整数を32ビット整数に代入しない。・64ビットポインタを32ビット整数に代入しない。・算術演算の際に起こるポインタやlong整数の切り捨て(その他、整数型の違いによる算術演算上の問題)を避ける。・データ型のバイト長の違いによって起こる、揃え境界の問題を解消する。・32ビットランタイム、64ビットランタイムで共通に用いる構造体は、メモリ上の配置が同じであるようにする。・アセンブリ言語で記述したコードは、64ビット版の新しい命令コードやランタイムに合わせて書き直す。・可変引数の関数を固定引数の関数に(あるいはその逆に)キャストすることは避ける。int64_t等)を使用するという方法もあるとのことです。・データの配置をコンパクトにする。・データ構造体をパックする。揃え境界が大きいものから順に並べ換えるとよい。・できるだけポインタを使わない。・キャッシュ化は本当に必要な場合に限定する。コンパイラが構造体の各要素の境界を揃えるためにパディングを追加することがあるので、それを考慮し構造体の各要素の配置を揃え境界の大きいものから順に並べると良いとのことです。64ビットバイナリ作成手順32ビット、64ビットの、両方のランタイム環境に対応したアプリケーションを構築する、大まかな手順を以下に示します。5.0.1をインストールする。プロジェクトを最新の形に更新するよう促すメッセージが現れます。更新すると、64ビット版で問題になりうる事項を、コンパイル時に警告やエラーとして検出するようになります。5.1.1以降をターゲットにするよう、プロジェクト設定を更新する。ビットプロジェクトはビルドできません。64-bit)」に変更する。64ビットランタイム環境に対応するようアプリケーションを更新する。この工程では、コンパイラが新たに検出するようになった警告やエラーメッセージが役立つでしょう。コンパイラ任せですべて足りるわけではありません。実際に64ビットハードウェア上でテストする。開発にはiOSシミュレータが有用ですが、関数呼び出し規約など、実デバイス上でなければ影響が顕在化しない事項もあります。Instrumentsを使ってメモリ利用効率を改善する。両方のアーキテクチャに対応したアプリケーションを送信して承認を求める。私も実際にこの手順で64ビット対応バイナリを作成してみました。Xcodeで「Run」させたら、警告が沢山出ました。ほとんどがデータ型の修正を促すものでした。コメントを受け付けていません。BluChic当サイトでは閲覧の追跡のためにGoogle・AmazonのサービスによりCookieが使用されています。サイトの閲覧を続けた場合Cookieの使用に同意したことになります。