7

メトロWindows 8アプリケーションにインラインアセンブラが含まれていますか? また、Metro C++ Native、または管理されている、またはC++/CLIのように両方を混在できますか?Metro Windows 8 C++アプリケーションにインラインアセンブラが含まれていますか?

+0

私はあなたができれば、それは有用であろうか表示されません。 x64とARM asmの両方​​を書くつもりですか? – ildjarn

+0

@ildjarn:彼のコードの移植性は明らかに彼が探しているものではないと思われます。 – LihO

+1

@ildjarn、この段階では好奇心が強いですが、もし私がしなければならないのは、異なるターゲットにバイナリをコンパイルするのと同じように、X64とARMの条件付きコードを書くことです。以前はMMX、Amd 3dNow、SSE、SSE2、SSE3などの条件付きアセンブラをx86プラットフォーム上に作成して以来、大きな問題ではありません。ありがとう。 – klumsy

答えて

9

Metroスタイルのアプリケーションは、古いWinAPIのCOMベースの置き換えであるWinRTを使用します。 .NETから、またはJavaScriptからでも使用できる独自のWinRTコンポーネントを作成することができます。また、余分な労力を要しません。既存のC++コードに関しては、Win32のサブセットのみWinRTで提供されることに注意してください。

enter image description here

あなたはC/C++、C#またはJSのコードかどうかを問題ではありませんが、WinRTのを使用するとき、あなたは直接WinRTのを呼び出すことはありませんが、それは結合と呼ばれる投影を通過し、あなたのWinRTコンポーネントが他の言語に適切に公開されるようにします。

enter image description here

"メトロのWindows 8アプリケーションは、インラインアセンブラが含まれていることはできますか?"
は、アセンブリ言語の指示をCおよびC++コードに直接埋め込むことができます。これは、コンパイラで許可されているためです。コンパイラに組み込まれたというインライン関数として記述されたアセンブリ命令のセットとしてインラインアセンブラを見てください。 WinRTを使用しているという事実はここでは無関係です。あなたを助けることができる

質問、:
Why is WinRT unmanaged?
C++, C# and JavaScript on WinRT
What are WinRT language projections?

+0

ありがとう。私はあなたがC + +からアクセスできるAPIが限られていることを知っている、私はちょうどあなたがインラインアセンブラを行うことができますか疑問に思って..単純なASMアルゴリズムのように、それは自己完結型であり、 – klumsy

+0

@klumsy:**コンパイラ**で実行できるようになっている限り、CおよびC++コードでインラインアセンブラを書くことができます。今私の答えをチェックしてください。 – LihO

+0

しかし、それがWACKを渡すかどうかわかりません。 –

関連する問題