โปรแกรมที่สามารถโต้ตอบกับระบบปฏิบัติการโดยไม่คำนึงถึงระบบปฏิบัติการที่รัน
คอมไพเลอร์ส่วนใหญ่ของ 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.