का मुद्रण नाम और मान मेरे पास एक सी प्रोग्राम है जिसमें कई अनुकूलन हैं जिन्हें #define
एस के साथ सक्षम या अक्षम किया जा सकता है। जब मैं अपना प्रोग्राम चलाता हूं, तो मैं जानना चाहता हूं कि संकलन समय पर मैक्रोज़ को परिभाषित किया गया है।एक मैक्रो
तो मै मैक्रो के वास्तविक मूल्य को मुद्रित करने के लिए मैक्रो फ़ंक्शन लिखने की कोशिश कर रहा हूं। कुछ इस तरह:
SHOW_DEFINE(X){\
if(IS_DEFINED(X))\
printf("%s is defined and as the value %d\n", #X, (int)X);\
else\
printf("%s is not defined\n", #X);\
}
हालांकि मैं यह काम करने के लिए पता नहीं कैसे और मुझे लगता है यह संभव नहीं है, किसी को भी यह कैसे करना है की एक विचार है करता है?
(ध्यान दें कि यह तब भी जब मैक्रो परिभाषित नहीं है संकलन चाहिए!)
एम 4 उत्तर के लिए स्वीकृत। जब आप एक और प्रीप्रोकैसिंग चरण जोड़ते हैं तो यह आसान हो जाता है। मैंने SHOW_DEFINE (एक्स, वाई, जेड ...) किया जो भी बेहतर है। हालांकि यह समझ में आता है क्योंकि मुझे अन्य सामानों के लिए एम 4 की आवश्यकता है। – Ben