web-dev-qa-db-ja.com

gccの-m32オプションはいつ使用する必要がありますか?

私は、-m32オプションを追加せずにSuse 10 32ビットシステムでコンパイルし、Suse 10 64ビットで実行した場合に問題なく動作するプログラムを作成しています。

この場合、-m32オプションを追加する必要はありませんか?

32ビットシステムで構築されたプログラムを副作用なしに64ビットシステムで直接実行できますか?または、更新や変更が必要ですか?

25
Jay

32ビットの実行可能ファイルを64ビットOSで実行しても問題はありません(32ビットのダイナミックライブラリが存在し、見つかる限り)。

-m32は、デフォルトで64ビットオブジェクトをコンパイルするように構成されたコンパイラで32ビットオブジェクトをコンパイルするためのものです。

29
AProgrammer

OSが64ビットOSで32ビットと64ビットの両方のプログラムをサポートしている限り(ヒント:OpenBSDなど、すべてがサポートしているわけではありません)、32ビットの依存関係がすべてある限り、問題は発生しません。 。

10
Earlz