こんにちは、 ".s"ファイルをリンクする際にいくつかのエラーが発生しています。アセンブリの.sとgccエラーのリンク
まず第一に、私は に"のgcc -S -m32 search.c"経由でファイルをコンパイルするには、私の32ビットのアセンブラコードを取得します。 「エラー:
は、第二に、私はこれを行う場合、私は次のエラーを取得する
「
検索search.s -o gccの」を使用して一緒に戻ってプログラムをリンクします: `push 'に無効な命令サフィックスがあります。私は問題を解決するためにgoogleを使用しようとし、--32オプションフラグを使用して解決策を見つけました。しかし、これはどちらもうまくいかなかった。結果として次のエラーが表示されます。 usr/bin/ld:入力ファイルのi386アーキテクチャがi386:x86-64出力と互換性がありません。 3番目のオプションは.sファイルに.code32を追加することで、gccはコンパイルします。しかし、コンソールをすぐに実行すると、 "コアダンプされた"と表示されます。
私は本当に今何をすべきか分かりません。誰でも私は物事をどのように働かせるか考えていますか?
乾杯
リンクにも '-m32'を使用してください。 – Jester
それはとても簡単でした。どうもありがとうございました! – MrCotton
[64ビットシステムでの32ビットバイナリのアセンブル(GNU toolchain)](http://stackoverflow.com/questions/36861903/assembling-32-bit-binaries-on-a-64bit- system-gnu-toolchain) –