Gccを使用して32ビットLinuxプラットフォームで64ビットバイナリをコンパイルすることは可能ですか?
Multilib GCCがインストールされている場合は、コマンドラインに-m64
を追加するだけです。 multilibをサポートして構築されていない場合、コンパイラは文句を言うはずです。
リンクするには、標準ライブラリの64ビット版がすべて必要です。ディストリビューションにmultilibGCCがある場合、これらもリポジトリにあるはずです。
Synapticに移動し、gcc-multilibまたはg ++-multilibを検索して、-m64
オプションが機能しない場合はパッケージをインストールします。次に、-m64
オプションを使用してコンパイルします。
64ビットマシンでコンパイルするgccが必要になります(例:x86_64-linux-gcc
。配布パッケージマネージャーを確認してください。
最初にgcc-multilib
pachageをインストールできると思います。次に、gcc -m64 yourcode
を使用してコードをコンパイルし、file yourprogram
を使用してELFファイルをチェックします。出力は次のようになりますyourprogram: ELF 64-bit LSB executable,.......