Tôi đang cố gắng viết mã đa nền tảng trong C++ cho Windows (MinGW) và Linux (g ++). Tôi đã được sử dụng để xác định số nguyên 64 bit trong Linux là "dài", nhưng khi tôi chuyển đến MinGW, sizeof (dài) trả về 4 byte. Sau đó, tôi phát hiện ra rằng tôi có thể sử dụng "dài" hoặc "__INT64" để xác định số nguyên 64 bit trong MinGW. Tôi có hai câu hỏi:Định nghĩa nền tảng chéo của số nguyên 64 bit trong C++ cho Windows và Linux
1.-Cách di động nhất để xác định số nguyên 64 bit cho cả Windows và Linux là gì? Tôi hiện đang sử dụng #ifdef, nhưng tôi không biết nếu điều này là cách tốt nhất để làm điều đó:
#ifdef LINUX
#define INT64 long
#elif WIN32
#define INT64 long long
#endif
2.- Tôi có nên sử dụng "dài dài" hoặc "__int64" trong MinGW? và tại sao?
Tôi mỏng bạn muốn nói 'long long' không phải 'double double' – drahnr
@drahnr xấu của tôi, tôi đã chỉnh sửa bài đăng –