クロスプラットフォームとクロスコンパイラの用語に少し混乱しています。まず、クロスプラットフォームについて明確にさせてください。人々がクロス プラットフォームについて話すとき、それは CPU のアーキテクチャ、つまり X86 と X64 を意味します。またはOS、つまりWindows 32ビットまたはWindows 64(サーバーまたはデスクトップ)?UNIX には、64 ビットや 32 ビットのような異なるフレーバーはありません。なんでそうなの?
.NET と Java はクロス コンパイラ言語ですが、それはどういう意味ですか? プログラムを .NET でコンパイルする場合、X86、X64、Any CPU などのオプションを選択する必要があります。それはどういう意味ですか?また、セットアップ プロジェクトでは、x86 と x64 の間でオプションを選択する必要があります。したがって、プログラムが x86 でコンパイルされ、msi ファイルが x64 で作成されている場合、X64 と x86 の両方、またはいずれかで実行されますか?