2011-02-08 10 views
4

ここで私はここでインターネットをしばらく調べていますが、インラインで実行できるかどうかはわかりませんGAS以外のものを使ってGCCと組み立てる。私はGASのAT & T構文(しかし、私はGASでIntel構文を使用する方法を知っている)だけでなく、拡張asm形式を使用するのを避けることができるかどうかを見出そうとしています。これはプロジェクトや自分の好奇心以外のものではありませんが、実際に私が得ることができるすべての助けに感謝します(私はそれについての答えを見つけることができなかったので、これは実際に私の最初の質問です)!また、これが何か違いがあれば、私は現在DevC++(C++ではなくC++用)をWindows上で使用しています。GCCで別のアセンブラ(MASM、NASM、TASMなど)を使用しています

おかげで、 トム

答えて

2

あなたがCまたはC++プログラムとアセンブラ( ".oの" または ".OBJ" ファイル)からの出力をリンクすることができます。アセンブラコードをテキストファイルに置きます。あなたのIDEまたはmakefileは、どんなcソースファイルと同じようにアセンブルします。トリッキーな唯一のビットは、2つの異なるシステム間のインターフェース方法を学ぶことです。

+0

ええ、それは本当に "インライン"か、単にアセンブラ関数の外部関数呼び出しでしょうか?それをテキストファイルに入れてどういう意味ですか? IDEが私のためにそれを組み立てるだろうか? – atomictom

+0

これは、GCCで別のアセンブラを使用している*ための答えではありません。*インラインアセンブリを持つソースファイルでは機能しないためです。私は@ nelhageの答えが正しいものだと考えています(まだそれが当てはまる場合)。 – jww

1

GCCで別のインラインアセンブリ構文を使用することはできません。インラインアセンブリーはGCCによって文字通り組み立てられ、組み立てるためにそれ自身の(テキスト)アセンブリー出力をインラインで作成し、組み立てるためにgasに送信します。 GCCは、別のアセンブラにフィードするために、独自の出力形式を変更する方法を知らないので、インラインアセンブリも変更できません。

+0

これは正確には当てはまりません。この質問を参照してください:http://stackoverflow.com/questions/199966/how-do-you-use-gcc-to-generate-assembly-code-in-intel-syntax – SpellingD

関連する問題