क्या कंपाइलर का नाम प्रिंट करने का कोई तरीका है और संस्करण जो प्रोग्राम को संकलित करने के लिए उपयोग किया गया था, कुछ ऐसा;सी: रनटाइम पर कंपाइलर जानकारी
printf("This is compiled with %s version %s\n", COMPILER, COMPILER_VERSION);
?
क्या कंपाइलर का नाम प्रिंट करने का कोई तरीका है और संस्करण जो प्रोग्राम को संकलित करने के लिए उपयोग किया गया था, कुछ ऐसा;सी: रनटाइम पर कंपाइलर जानकारी
printf("This is compiled with %s version %s\n", COMPILER, COMPILER_VERSION);
?
आप पूर्व प्रोसेसर के साथ ऐसा कर सकते हैं:
संदर्भ: http://predef.sourceforge.net/precomp.html
जीसीसी के लिए:
#if defined(__GNUC__)
# if defined(__GNUC_PATCHLEVEL__)
# define __GNUC_VERSION__ (__GNUC__ * 10000 \
+ __GNUC_MINOR__ * 100 \
+ __GNUC_PATCHLEVEL__)
# else
# define __GNUC_VERSION__ (__GNUC__ * 10000 \
+ __GNUC_MINOR__ * 100)
# endif
#endif
MSVC के लिए बस का उपयोग करें:
_MSC_FULL_VER
नहीं, संकलक का नाम प्राप्त करने का तरीका स्वयं संकलक-विशिष्ट है: -पी।
जीसीसी __VERSION__
मैक्रो प्रदान करता है, हालांकि।
+1: आप मुझे भी मारो;) –
एर ... क्या होगा अगर मैंने माइक्रोसॉफ्ट के कंपाइलर्स का इस्तेमाल किया? – Arafangion
_MSC_FULL_VER लिंक पर एक नज़र डालें। यह संकलक विशिष्ट पूर्व प्रोसेसर परिभाषित करने के लिए एक संदर्भ है। –