โปรแกรมที่สามารถโต้ตอบกับระบบปฏิบัติการโดยไม่คำนึงถึงระบบปฏิบัติการที่รัน
คอมไพเลอร์ส่วนใหญ่ของ c/c++ มีความสามารถในการกำหนดมาโครที่ตรวจจับระบบปฏิบัติการ
Macros ของคอมไพเลอร์ GCC บางตัวคือ -
-
_WIN32:มาโครสำหรับระบบปฏิบัติการ Windows รุ่น 32 บิตและ 64 บิต
-
_WIN64:มาโครสำหรับระบบปฏิบัติการ Windows 64 บิต
-
_UNIX:มาโครสำหรับ UNIX OS
-
_APPLE_:มาโครสำหรับ macOS
ตามมาโครที่กำหนดไว้ มาสร้างโปรแกรมที่จะทำงานโดยไม่คำนึงถึง OS -
ตัวอย่าง
#include <iostream>
using namespace std;
int main() {
#ifdef _WIN32
system("dir");
#else
system("ls");
#endif
return 0;
} ผลลัพธ์
This lists all files of the directory to the output screen irrespective of OS.