मैं एक क्रॉस-प्लेटफ़ॉर्म कोड लिख रहा हूं, जिसे लिनक्स, विंडोज़, मैक ओएस पर संकलित करना चाहिए। विंडोज़ पर, मुझे विजुअल स्टूडियो और मिंगव का समर्थन करना होगा।प्रीप्रोसेसर मैक्रोज़ से प्लेटफार्म/कंपाइलर की पहचान कैसे करें?
प्लेटफ़ॉर्म-विशिष्ट कोड के कुछ टुकड़े हैं, जिन्हें मुझे #ifdef .. #endif
वातावरण में रखना चाहिए। उदाहरण के लिए, यहां मैंने Win32 विशिष्ट कोड रखा:
#ifdef WIN32
#include <windows.h>
#endif
लेकिन मैं लिनक्स और मैक ओएस को कैसे पहचानूं? नाम (या आदि) को परिभाषित करने के लिए मुझे क्या उपयोग करना चाहिए?
डुप्ले का एक बेहतर स्वीकार्य उत्तर है। – rubenvb
सुझाया गया डुप्लिकेट एक ही प्रश्न नहीं है। वह प्रश्न केवल ऑपरेटिंग सिस्टम की पहचान करने के बारे में पूछता है, जबकि यह प्रश्न संकलक की पहचान करने के बारे में भी पूछता है, जो कि एक बहुत ही अलग बात है। – JBentley
यहां [ओएस मैक्रो परिभाषित सूची] है (http://sourceforge.net/p/predef/wiki/OperatingSystems/)। – OCaml