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