昨日、AMD64 および Itanium ターゲット用にコンパイルする場合、Microsoft Visual C++ ではインライン アセンブリ (__asm キーワードを使用) がサポートされないことを知りました。
あれは正しいですか?もしそうなら、それらのターゲットのインラインアセンブリをサポートしない理由を誰かが知っていますか? ただドロップするのはかなり大きな機能のようです...
昨日、AMD64 および Itanium ターゲット用にコンパイルする場合、Microsoft Visual C++ ではインライン アセンブリ (__asm キーワードを使用) がサポートされないことを知りました。
あれは正しいですか?もしそうなら、それらのターゲットのインラインアセンブリをサポートしない理由を誰かが知っていますか? ただドロップするのはかなり大きな機能のようです...
正解です。VS 2010 Beta 1ではまだサポートされていません。私の推測では、インライン アセンブリは実装が難しすぎると思います。Microsoft が実装した方法では、周囲の C コードと統合されるため、データが C コードに出入りできるようになり、適切なグルー コードが自動的に挿入されます。そのためには、C コンパイラが実際にアセンブラ コードを理解する必要があります。彼らは、AMD64 と Itanium にそれを実装していません。
ただ落とすのはかなり大きな機能のようです...
Cの規則に従っている限り、アセンブラで記述された関数を呼び出すのは非常に簡単です。このチュートリアルでは、その方法について説明します。