Tidak jelas bagi saya bagaimana kompiler akan secara otomatis tahu untuk mengkompilasi untuk 64-bit ketika perlu. Bagaimana ia tahu kapan ia bisa menargetkan 32-bit dengan percaya diri?
Saya terutama ingin tahu tentang bagaimana kompiler tahu arsitektur mana yang harus ditargetkan ketika mengkompilasi. Apakah itu menganalisis kode dan membuat keputusan berdasarkan apa yang ditemukannya?
Jawaban:
Microsoft memiliki entri blog What AnyCPU Really Means As. NET 4.5 dan Visual Studio 11 :
sumber
Inilah jawaban sederhana:
Catatan: AnyCPU-32bitPreferred hanya tersedia dalam .Net versi 4.5 dan lebih tinggi.
sumber
Project -> Properties -> Build tab -> Platform target
... tetapi perhatikan bahwaAnyCPU-32bitPreferred
hanya tersedia dalam .Net versi 4.5 dan lebih tinggi. Itu sebabnya defaultnya adalahAnyCPU
.Alasannya adalah: jika Anda tidak ingin menggunakan lebih banyak memori dengan aplikasi 64 bit. Yang berarti, jika aplikasi Anda adalah AnyCPU , Anda ingin menjalankan sebagai 32 bit.
Untuk menambahkan lebih banyak, pengaturan di Visual Studio menargetkan CLR tertentu:
Silakan merujuk ke artikel Aplikasi 64-bit ( MSDN ).
sumber