1. ホーム
  2. .net

[解決済み] Visual Studioの「Any CPU」ターゲットはどういう意味ですか?

2022-03-18 04:41:34

質問

Visual Studio 2008の.NETプラットフォームビルドオプションに関連して、いくつか混乱があります。

コンパイル対象が"Any CPU"の場合、どのようなファイルが生成されるのでしょうか?この "Any CPU" ビルドの出力実行ファイルを調べてみると、x86 の実行ファイルであることがわかりました(誰が予想したのでしょう!)。そこで、実行ファイルを x86 にターゲットするのと "Any CPU" にターゲットするのとでは、何か違いがあるのでしょうか?

もうひとつ気づいたのは、マネージドC++プロジェクトには、このプラットフォームがオプションとして用意されていないことです。なぜでしょうか?それは、"Any CPU"実行ファイルがプレーンな32ビットであるという私の疑念が正しいということでしょうか?

解決方法は?

について AnyCPU アセンブリは、64ビットプロセスにロードされた場合は64ビットコードに、32ビットプロセスにロードされた場合は32ビットコードにJITします。

CPUを限定することで、あなたはこう言うでしょう。 アセンブリによって使用される何か(おそらくは 32ビットまたは64ビットを必要とします。