きりかノート 3冊め

おあそびプログラミング

64bitのMacで32bitコードを選択して実行する

Snow Leopardではいろいろなところで64bit/32bit両方のコードが利用できるようになった。両方のバイナリを含むとき、実行環境のアーキテクチャが優先的に選択される。64bitのMacで32bitコードを動かしたいときにどうすればよいか、のメモ。

どちらもLeopardで既に導入されていたものの、10.5では64bitコードはあんまり使ってなかったから知らなかったよ。

アプリケーションの場合

LSArchitecturePriorityを使う。

% LSArchitecturePriority=i386 ./MyApp.app/Contents/MacOS/MyApp

Finderで「32bitモードで開く」にチェックつければいい話ではあるけれど。

コマンドの場合

archコマンドを使う。

% arch -i386 ruby script.rb