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.
Kata kunci khusus Microsoft ini kedaluarsa. Dalam versi Visual Studio yang lebih lama dari Visual Studio 2013, ini memungkinkan Anda menandai variabel, sehingga ketika Anda mengkompilasi dengan /Wp64 , pengkompilasi akan melaporkan peringatan apa pun yang akan dilaporkan jika Anda mengkompilasi dengan kompilator 64-bit.
Sintaks
pengidentifikasi jenis
__w64
Parameter
jenis
Salah satu dari tiga jenis yang dapat menyebabkan masalah dalam kode yang di-port dari 32-bit ke kompilator 64-bit: int, long, atau pointer.
identifier
Pengidentifikasi untuk variabel yang Anda buat.
Keterangan
Penting
Opsi pengkompilasi /Wp64 dan __w64 kata kunci tidak digunakan lagi di Visual Studio 2010 dan Visual Studio 2013 dan dihapus mulai dari Visual Studio 2013. Jika Anda menggunakan /Wp64 opsi pengkompilasi pada baris perintah, pengkompilasi mengeluarkan Peringatan Baris Perintah D9002. Kata __w64 kunci diabaikan secara diam-diam. Alih-alih menggunakan opsi dan kata kunci ini untuk mendeteksi masalah portabilitas 64-bit, gunakan pengkompilasi Microsoft C++ yang menargetkan platform 64-bit. Untuk informasi selengkapnya, lihat Mengonfigurasi Visual C++ untuk target x64 64-bit.
Typedef apa pun yang memilikinya __w64 harus 32 bit pada x86 dan 64 bit pada x64.
Untuk mendeteksi masalah portabilitas dengan menggunakan versi pengkompilasi Microsoft C++ yang lebih lama dari Visual Studio 2010, __w64 kata kunci harus ditentukan pada typedef apa pun yang mengubah ukuran antara platform 32 bit dan 64 bit. Untuk jenis seperti itu, __w64 harus muncul hanya pada definisi 32-bit dari typedef.
Untuk kompatibilitas dengan versi sebelumnya, _w64 adalah sinonim kecuali __w64 opsi pengompilasi /Za (Nonaktifkan ekstensi bahasa) ditentukan.
Kata __w64 kunci diabaikan jika kompilasi tidak menggunakan /Wp64.
Untuk informasi selengkapnya tentang porting ke 64-bit, lihat topik berikut:
Contoh
// __w64.cpp
// compile with: /W3 /Wp64
typedef int Int_32;
#ifdef _WIN64
typedef __int64 Int_Native;
#else
typedef int __w64 Int_Native;
#endif
int main() {
Int_32 i0 = 5;
Int_Native i1 = 10;
i0 = i1; // C4244 64-bit int assigned to 32-bit int
// char __w64 c; error, cannot use __w64 on char
}