Menentukan 32 vs 64 bit dalam C : Pendekatan Komprehensif
Dalam pengaturcaraan C, selalunya perlu untuk membezakan antara 32-bit dan persekitaran 64-bit. Walaupun kaedah berasaskan makro yang disediakan menggunakan perbandingan ULONG_MAX dan UINT_MAX kelihatan kukuh, terdapat pertimbangan tertentu yang perlu dibuat.
Kaveat Potensi Kaedah yang Dicadangkan:
Rentas Platform, Alternatif Multi-Penyusun:
Untuk menangani kaveat ini, pendekatan yang lebih komprehensif disyorkan. Ini melibatkan penentuan persekitaran berdasarkan bendera pengkompil tertentu atau makro prapemproses yang mentakrifkan kebitan proses penyusunan secara eksplisit.
// Check operating system #if _WIN32 || _WIN64 #if _WIN64 #define ENVIRONMENT64 #else #define ENVIRONMENT32 #endif #endif // Check GCC #if __GNUC__ #if __x86_64__ || __ppc64__ #define ENVIRONMENT64 #else #define ENVIRONMENT32 #endif #endif
Pendekatan ini bergantung pada bendera dan makro khusus pengkompil untuk menentukan kebitan kompilasi dengan tepat persekitaran.
Baris Perintah Penyusun Pembolehubah:
Sebagai alternatif, anda boleh menetapkan pembolehubah persekitaran daripada baris arahan pengkompil untuk mentakrifkan bitness secara eksplisit:
# Compile for 32-bit $ g++ -m32 ... # Compile for 64-bit $ g++ -m64 ...
Dengan menggunakan pendekatan yang lebih komprehensif ini, anda boleh menentukan dengan pasti bit kod C anda merentas penyusun dan platform yang berbeza, memastikan program anda berkelakuan seperti yang dimaksudkan untuk kedua-dua 32-bit dan Persekitaran 64-bit.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan dengan Boleh Dipercayai jika Kod C Saya Berjalan dalam Persekitaran 32-bit atau 64-bit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!