2011-06-23 9 views
5

私はXcode 4に最近インポートしたCocoaプロジェクトを持っています。特定のビルドターゲットごとに2つのスキーム(32ビット用と64ビット用)があることに気付きました。私のプロジェクト設定は「標準(32/64ビットIntel)」に設定されています。Xcode 4の「My Mac 32-bit」と「My Mac 64-bit」の違いは?

「My Mac 32-bit」スキームを選択すると、32ビットマシン用にコンパイルして「My Mac 64-bit」を選択し、64ビットマシン用にコンパイルしますか? 「My Mac 64-bit」スキームを選択した場合、32ビットマシンでは動作しなくなりますか?

enter image description here

答えて

2

スキームの設定は、[実行]をクリックしたときにXcodeで何が起こるか変更し、ビルドなどのアーキテクチャの設定は、あなたのスクリーンショットに表示、プロジェクト設定内で変更されています。 「32ビットのみ」または「64ビットのみ」を選択することができます。 64ビットのみのバイナリを公開しても、32ビットマシンでは実行されない可能性があります。両方のプラットフォーム用にビルドし、両方のバイナリを1つのUniversalバイナリに組み込んで、32ビット専用のMacと下位互換性を持たせる必要があります。

3

Mac OS Xでは32ビットのMac OS Xで、64ビットのMac OS Xでは32ビットのソフトウェアを実行できます。ソフトウェアでたくさんのメモリを使用する場合は、 64ビットオプション。そうでなければ、32ビットカーネル上の64ビットソフトウェアが少しヒットする傾向にあるので、何が良いかを見るためにベンチマークする必要があります。それについて

いくつかの詳細情報:http://macperformanceguide.com/SnowLeopard-64bit.html

+0

私はこれを知らなかった。 –

+0

ええ、最初は驚いていました。なぜなら、Windows上ではまったく動作しないからです。 Appleがiircで逃げる理由は、できるだけ早くレガシーサポートを失うので、バグのあるサードパーティのドライバ/古いソフトウェアで問題がない(または気にしない)ということです。 –

+0

しかし、私は32ビットEFIを使って "> 4 GBのメモリ"を得ることはできません。 64ビットハードウェアを使用していない限り、64ビットアプリケーションは64で動作しますが、その利点はありません。それは正しいと思いますか? –

2

は、「どこでもMy Macの64ビットが」アプリがコンパイルされている方法を変更しないために、「どこでもMy Macの32ビット」からのスキームの設定を変更します。テストやプロファイリングのためにマシン上ですぐに起動されるバイナリバージョンのみを変更します。 32ビットと64ビットの両方のバイナリがコンパイルされ、最終的な製品に含まれ、汎用アプリケーションとして出荷されます。

+0

これは、アプリが32ビット、64ビット、またはその両方としてコンパイルされるかどうかを除いて、プロジェクトビルドの設定によって制御されます。スキームの設定では、どのプロジェクトビルド設定を使用するかを選択できるので、32ビットプロジェクトビルド設定を指し示す「32ビット」というスキームを作成できますが、そのスキームを「My Mac 64-bit」モードでデバッグ用に実行することもできます。その場合、デバッガは起動できないかもしれませんが、テストしていません。 –

+0

ビルド設定を32または64のみに変更した場合、ポップアップからもう1つのオプションを無効にすることができます。ポップアップは、プロジェクトで利用できるものを知るのに十分なほどスマートです。 – Conor

関連する問題