1

ばかげた質問ですが、gcc で必要なフラグが見つかりません。基本的に、C プログラムに次のインライン アセンブラ コードがあります。

__asm__ __volatile__ ("lea ebx, [timings] \n\t");

コンパイル時に、次のようなエラー メッセージが表示されます: [timings Error: invalid char '[' beginning operand 2]'`

昔、x86 インライン アセンブリであることをコンパイラに伝える何らかのフラグを使用したことを思い出しました。しかし、オンラインで見つけることができません。誰かが私が使用しなければならないフラグを教えてもらえますか?

どうもありがとう!

4

2 に答える 2

6

GCC ではそのように変数を指定することはできません。インライン アセンブラの使用方法の詳細な説明については、このドキュメントを参照してください。また、GCC は Intel 構文ではなく AT&T 構文を使用するため、宛先を右側に配置する必要があることに注意してください。

于 2009-06-23T16:45:08.007 に答える
-2

__asm__代わりに使用してみてください。詳しくはこちらをご覧ください。

また、アセンブリ コード内から \n\t を削除してみてください。

于 2009-06-23T16:40:40.690 に答える