[解決済み】Visual Studioの「32ビットを優先する」設定の目的と実際の動作は?
質問
64ビット用にコンパイルする必要があるときに、コンパイラがどのように自動的に判断するのか、私には不明です。32ビットを確実にターゲットにできることを、コンパイラはどうやって知るのでしょうか?
コンパイル時にどのアーキテクチャをターゲットにするかをコンパイラがどのように判断しているのか、主に興味があります。コードを解析して、その結果に基づいて判断しているのでしょうか?
どのように解決するのですか?
マイクロソフトのブログエントリーに .NET 4.5とVisual Studio 11におけるAnyCPUの意味するところ :
<ブロッククオート.NET 4.5とVisual Studio 11では、チーズが移動しました。そのため ほとんどの.NETプロジェクトのデフォルトは再びAnyCPUですが、それ以上のものがあります。 の1つの意味です。AnyCPUのサブタイプが追加されています。 "Any CPU 32-bit preferred" が新しいデフォルトです。 は、C#コンパイラの/platformスイッチのオプションが5つになりました:x86, Itanium、x64、anycpu、anycpu32bitpreferred)。32ビット版を使用する場合、quot;Prefer 32-Bit" フレーバーの AnyCPU を使用する場合、セマンティクスは次のようになります。
- プロセスが32ビットWindowsシステム上で実行される場合、32ビットプロセスとして実行されます。ILは、x86マシンコードにコンパイルされます。
- 64ビットWindowsシステムで実行する場合、32ビットプロセスとして実行されます。ILは、x86マシンコードにコンパイルされます。
- ARM Windowsシステムで実行する場合、32ビットプロセスとして実行されます。ILはARMマシンコードにコンパイルされます。
では、「任意のCPU 32ビット優先」と「x86」の違いは何かというと、それは x86用にコンパイルされた.NETアプリケーションは、そのアプリケーションの実行に失敗します。 ARMのWindowsシステムでは、"Any CPU 32-bit preferred "のアプリケーションを使用することができます。 は正常に実行されます。
関連
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] Visual Studio CodeとVisual Studioの違いは何ですか?
-
[解決済み】IEnumerable vs List - What to Use? どのように動作するのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】WSACancelBlockingCallの例外について