Tôi tự hỏi tại sao trên MacOSX macro __unix__
không được xác định.Macro phổ biến để xác định hệ thống có nguồn gốc UNIX? (Linux, OSX, BSD, ...)
MacOSX có phải là dẫn xuất BSD UNIX không?
Nếu tôi xác định macro __unix__
trong mã của mình, tôi có thể gặp một số sự cố không?
Nói chung, khi kiểm tra nền tảng hiện tại, tôi thích làm một cái gì đó như:
#ifdef __unix__
...
#endif
thay vì:
#if defined(__unix__) || defined(__APPLE__) || defined(__linux__) || defined(BSD) ...
...
#endif
lựa chọn tốt nhất có thể được để xác định vĩ mô của riêng tôi trong một đơn địa điểm? Ví dụ .:
#if defined(__unix__) || defined(__APPLE__) || defined(__linux__) || defined(BSD) ...
#define UNIX_
#endif
Nếu bạn chọn làm điều đó, không sử dụng dấu gạch dưới kép trong tên. –
bạn sẽ nhận được nhiều hơn về vấn đề của mình nếu bạn thay đổi một trong các thẻ thành 'c'. Chúc may mắn. – shellter
@WilliamPursell: đã sửa. Cảm ơn bạn. – Pietro