0

C++ / Objective C ベースのアプリがあります。LLVM-GVC コンパイラを使用してコードをコンパイルします。

現在、32 ビットのバイナリを構築し、お客様のマシンに展開しています。SnowLeopard、Lion、Mountain Lion、Mavericks をサポートしています。これらはすべて64ビットOSであることを認識しています。32 ビット バイナリを問題なく実行できます。

しかし、知りたいのですが、今後、アプリの 64 ビット バイナリを展開する方が良い考えですか? コード ベースをコンパイルして 64 ビット バイナリをビルドすることはできますが、サード パーティの 64 ビット ライブラリなどにリンクする必要があります。

私の質問は、これらの OS で 32 バイナリがまだ動作する場合、64 ビット バイナリを展開する利点は何ですか?

また、ユニバーサルバイナリはどうですか?ユニバーサル バイナリを構築する方が良い選択肢だと思いますか? はいの場合、なぜですか?

考えや提案をいただければ幸いです。

4

1 に答える 1

0

バイナリがスタンドアロン アプリである場合 (他のプログラムのプラグインや dylib ではない場合)、32 ビット バイナリを使用しても問題はありません。あなたは良い仲間です。Google の Chrome ブラウザを見ると、これも 32 ビット バイナリを使用しています。

64 ビットの利点は、必要に応じてより多くのメモリをアドレス指定できることです。64 ビット命令の方が高速なアセンブラ命令がいくつかあると思いますが、全体として、それが機能する場合は、問題。

32 ビットと 64 ビットの両方のアプリケーションで動作する必要がある dylib を作成している場合、それがユニバーサル バイナリを作成する理由になります。ユニバーサル バイナリ OSX を使用すると、それが処理されます。

于 2013-11-13T09:03:10.057 に答える