के साथ कंपाइलर का पता लगाएं मैं एक छोटा कोड बनाने की कोशिश कर रहा हूं जो कई प्लेटफॉर्म और कंपाइलर्स में काम करता है। मैं दावाों का उपयोग करता हूं, जिनमें से अधिकांश को बंद कर दिया जा सकता है, लेकिन ओपनएमपी समर्थन के लिए -mp
का उपयोग करते हुए पीजीआई के pgicpp
के साथ संकलन करते समय, यह स्वचालित रूप से --no_exceptions
विकल्प का उपयोग करता है: हर जगह "फेंक" कथन के साथ मेरे कोड में एक घातक कंपाइलर त्रुटि उत्पन्न होती है। ("अपवाद हैंडलिंग के लिए समर्थन अक्षम है")#ifdef
क्या define
डी मैक्रो है क्या मैं पीजीआई पर throw
स्टेटमेंट्स को छिपाने के लिए परीक्षण कर सकता हूं? मैं आमतौर पर जीसीसी के साथ काम करता हूं, जिसमें GCC_VERSION
और इसी तरह की है। मुझे पीजीआई में इन मैक्रोज़ का वर्णन करने वाला कोई दस्तावेज नहीं मिल रहा है।
क्लैंग http://stackoverflow.com/questions/2658461/what-predefined-macro-can-i-use-to-detect-clang | वीसी http://stackoverflow.com/questions/15127522/how-to-ifdef-by-compilertype-gcc-or-vc –