Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตรวจสอบว่า C++ ถูกคอมไพล์ 32-bit หรือ 64-bit

ไม่มีวิธีมาตรฐานใน C++ แต่บน Windows ใช้ predefined macros:

  • _WIN64 = defined เมื่อ compile 64-bit
  • _WIN32 = defined ทั้ง 32-bit และ 64-bit (Windows)

โค้ดตรวจสอบ

#include <iostream>
using namespace std;

int main() {
    #ifdef _WIN64
        cout << "64-bit system\n";
    #elif _WIN32
        cout << "32-bit system\n";
    #else
        cout << "Non-Windows system\n";
    #endif
}

Linux/macOS (GCC/Clang)

#ifdef __x86_64__ // หรือ __LP64__
    // 64-bit
#elif defined(__i386__) || defined(__i386)
    // 32-bit
#endif

หมายเหตุ: ตรวจสอบขนาด pointer ด้วย sizeof(void*) (4=32-bit, 8=64-bit) ได้ที่ runtime