3

C++ 内でインライン アセンブリを記述したい場合 (インテル コンパイラで C++ をコンパイルする場合)、どのアセンブリ構文を使用しますか? FASM/NASM ですか、それとも MASM ですか? そして、これはあなたが使用しているOSに関係がありますか(またはIntelコンパイラはその違いを抽象化しますか)?

4

1 に答える 1

3

Intelによると、Intel® C++ Compiler は、Microsoft スタイルと GNU 風のインライン アセンブリの両方をサポートしています。

インライン アセンブリ

Microsoft* スタイルのインライン アセンブリ

インテル® C++ コンパイラーは、Microsoft スタイルのインライン・アセンブリーをサポートしています。適切な構文については、Microsoft のドキュメントを参照してください。

GNU* ライクなスタイルのインライン アセンブリ (IA-32 アーキテクチャーおよびインテル® 64 アーキテクチャーのみ)

インテル® C++ コンパイラーは、GNU に似たスタイルのインライン・アセンブリーをサポートしています。構文は次のとおりです。

asm-keyword [ volatile-keyword ] ( asm-template [ asm-interface ] ) ;

ノート

インテル® C++ コンパイラーは、アセンブラー・コードが AT&T* System V/386 構文を使用する場合、gcc スタイルのインライン ASM をサポートします。

于 2013-03-19T21:39:56.923 に答える