Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ketika Anda mengkompilasi aplikasi, Anda dapat menentukan bahwa aplikasi harus berjalan pada sistem operasi Windows 64-bit baik sebagai aplikasi asli atau di bawah WOW64 (Windows 32-bit pada Windows 64-bit). WOW64 adalah lingkungan kompatibilitas yang memungkinkan aplikasi 32-bit berjalan pada sistem 64-bit. WOW64 disertakan dalam semua versi 64-bit dari sistem operasi Windows.
Menjalankan aplikasi 32-bit vs. 64-bit di Windows
Aplikasi 32-bit yang dibangun di .NET Framework 4 atau versi yang lebih baru berjalan di bawah WOW64 pada sistem 64-bit.
Nota
Karena desain emulasi x86 dan subsistem WOW64 untuk keluarga prosesor Itanium, aplikasi dibatasi untuk dieksekusi pada satu prosesor. Faktor-faktor ini mengurangi performa dan skalabilitas aplikasi .NET 32-bit yang berjalan pada sistem berbasis Itanium. Kami menyarankan agar Anda menggunakan .NET Framework 4 atau yang lebih baru, yang mencakup dukungan 64-bit asli untuk sistem berbasis Itanium, untuk peningkatan performa dan skalabilitas.
Secara default, ketika Anda menjalankan aplikasi terkelola 64-bit pada sistem operasi Windows 64-bit, Anda dapat membuat objek tidak lebih dari 2 gigabyte (GB). Namun, di .NET Framework 4.5 dan yang lebih baru, Anda dapat meningkatkan batas ini. Untuk informasi selengkapnya, lihat <elemen gcAllowVeryLargeObjects>.
Banyak rakitan beroperasi identik pada CLR 32-bit dan CLR 64-bit. Namun, beberapa program mungkin bertingkah berbeda, tergantung pada CLR, jika berisi satu atau beberapa program berikut:
- Struktur yang berisi anggota yang ukurannya bervariasi berdasarkan platform (misalnya, jenis penunjuk apa pun).
- Aritmatika penunjuk yang menyertakan ukuran konstanta.
- Pemanggilan platform atau deklarasi COM yang tidak benar yang menggunakan
Int32
untuk handle alih-alihIntPtr
. - Kode yang mengubah tipe data
IntPtr
menjadiInt32
.
Untuk informasi selengkapnya tentang cara mem-port aplikasi 32-bit untuk dijalankan pada CLR 64-bit, lihat Memigrasikan Kode Terkelola 32-bit ke 64-bit.
Informasi Pemrograman Umum 64-Bit
Untuk informasi umum tentang pemrograman 64-bit, lihat dokumen berikut ini:
- Dalam dokumentasi Windows SDK, lihat Panduan Pemrograman untuk Windows 64-bit.
- Untuk informasi tentang dukungan Visual Studio untuk membuat aplikasi 64-bit, lihat Dukungan Visual Studio IDE 64-Bit.
Dukungan Kompiler untuk Membuat Aplikasi 64-Bit
Secara default, ketika Anda menggunakan .NET untuk membangun aplikasi pada komputer 32-bit atau 64-bit, aplikasi akan berjalan pada komputer 64-bit sebagai aplikasi asli (yaitu, bukan di bawah WOW64). Tabel berikut mencantumkan dokumen yang menjelaskan cara menggunakan pengkompilasi Visual Studio untuk membuat aplikasi 64-bit yang akan berjalan sebagai asli, di bawah WOW64, atau keduanya.
Kompilator | Opsi pengkompilasi |
---|---|
Visual Basic | -platform (Visual Basic) |
Visual C# | -platform (Opsi Kompiler C#) |
Visual C++ | Anda dapat membuat aplikasi platform-agnostic, common intermediate language (CIL) dengan menggunakan /clr:safe. Untuk informasi selengkapnya, lihat CLR (Common Language Runtime Compilation). Visual C++ menyertakan pengkompilasi terpisah untuk setiap sistem operasi 64-bit. Untuk informasi selengkapnya tentang cara menggunakan Visual C++ untuk membuat aplikasi asli yang berjalan pada sistem operasi Windows 64-bit, lihat Pemrograman 64-bit. |
Menentukan Status File .exe atau File .dll
Untuk menentukan apakah file .exe atau file .dll dimaksudkan untuk berjalan hanya pada platform tertentu atau di bawah WOW64, gunakan CorFlags.exe (CorFlags Conversion Tool) tanpa opsi. Anda juga dapat menggunakan CorFlags.exe untuk mengubah status platform file .exe atau file .dll. Header CLR dari rakitan Visual Studio memiliki nomor versi runtime utama yang diatur ke 2 dan nomor versi runtime minor diatur ke 5. Aplikasi yang memiliki versi runtime minor yang diatur ke 0 diperlakukan sebagai aplikasi warisan dan selalu dijalankan di bawah WOW64.
Untuk mengkueri .exe atau .dll secara terprogram untuk melihat apakah itu dimaksudkan untuk berjalan hanya pada platform tertentu atau di bawah WOW64, gunakan metode .Module.GetPEKind