17

Windows 8アプリを構築する場合、開発者はHTML / JavaScript、XAML / .Net(C#/ VB)、およびXAML /C++を選択できます。XAML /C++でアプリを作成したい。

最初の2つの選択肢でアプリケーションを構築すると、アプリケーションがIntelアーキテクチャとARMアーキテクチャの両方で実行されることがほぼ保証されます。

しかし、C ++アプリで特定のことを行うと、ARMアーキテクチャでアプリケーションが実行されなくなる可能性があると聞いています。でも詳細はわかりません。

ARMで正常に実行できるようにするためにC++Windows 8アプリが避けるべきことを誰かが知っていますか?これらのアーキテクチャの決定ですか、それとも技術の違いですか?

4

4 に答える 4

3

各アーキテクチャで実行するには、最初にアーキテクチャごとにコンパイルする必要があります。標準のC++を作成する場合(および未定義の動作やプラットフォーム固有の動作に依存しない場合)、アーキテクチャ間の移植時に通常問題を引き起こす問題は次のとおりです。

(このリストは一例です)

  • int、long、long long(およびその他)のサイズはプラットフォーム間で異なる場合があります
  • charの署名
  • 構造物のパディング方法
  • フロートのバイナリレイアウト
  • エンディアン
  • などなど。

通常、クレイジーなポインタの算術演算やキャストを控えれば安全です。

于 2012-10-22T19:51:59.283 に答える
1

私はあなたのコードがARMの下で単に実行またはコンパイルされないようにするものは何も知りません(インライン化アセンブリを除く)。

ただし、ARMが間違った答えを出す可能性のあることがあります。

ARMプロセッサは「順序が弱い」この最近の記事はあなたにローダウンを与えます

http://preshing.com/20121019/this-is-why-they-call-it-a-weakly-ordered-cpu

ただし、要約すると、ARMプロセッサはメモリアクセスを並べ替える場合があります。注意しないと、マルチスレッドアプリケーションのx86アーキテクチャとARMアーキテクチャで異なる結果が生じる可能性があります。

于 2012-10-22T19:48:33.363 に答える
0

MFCアプリケーションは、ARMベースのWindows8システムでは実行されません。

C ++を使用してMetroスタイルのアプリケーションを構築できます。Metroの「スタイル」ガイドラインに従うだけで、

すべてのプログラムでARMベースのWindows8システムとx86ベースのシステムをサポートする場合は、MFCとWin32APIの代わりにHTML/CSSまたはXAMLとWinRTAPIを使用するようにプログラムを変更します。

于 2012-10-23T05:47:04.610 に答える
0

ARMはWindowsストアアプリでのみサポートされています。

システム要求

サポートされているアーキテクチャ:Windows8用のWindowsSDKは、次のアーキテクチャ用のアプリケーションの構築をサポートしています。x86 x64 ARM(Windowsストアアプリ)注:Windows8用のWindowsSDKは、ARMアーキテクチャに直接インストールすることはできません。ARMアーキテクチャを対象とするアプリケーションを構築するために、WindowsSDKをx86またはx64プラットフォームにインストールできます。

参照できる記事へのリンクは次のとおりです。

于 2012-10-22T19:51:44.160 に答える