टेम्पलेट्स स्वयं प्रोग्राम हो सकते हैं।क्या कोई टेम्पलेट डीबगर है?
क्या कोई टेम्पलेट डीबगर है ताकि आप टेम्पलेट के "निष्पादन" के माध्यम से कदम उठा सकें?
यह मूल रूप से कुछ ऐसा होना चाहिए जो संकलन/लिंक/कोडेजन के दौरान किया जाता है - और जेनरेट किए गए प्रोग्राम को डीबग करने से अलग है।
यहां तक कि कई "आदिम" वातावरण में जहां आप डीबगर का उपयोग नहीं कर सकते हैं, आप आमतौर पर "printf डिबगिंग" कर सकते हैं। टेम्पलेट्स के साथ भी यह संभव है?
संपादित करें: इस बारे में सोचने का एक और तरीका सी प्रीप्रोसेसर की तरह कुछ है। यह "प्रीप्रोसेस्ड" स्रोत कोड उत्पन्न करने के लिए अक्सर बहुत उपयोगी होता है - प्रीप्रोसेसर से आउटपुट जो संकलक वास्तव में संकलित कर रहा है - यह आपको यह देखने देता है कि आपके मैक्रोज़ का क्या प्रभाव है। एक टेम्पलेट समकक्ष बहुत अच्छा होगा - संकलक आउटपुट गैर-टेम्पलेट स्रोत कोड है जो टेम्पलेट इनपुट के लिए कोरसपॉन्ड करता है। मुझे लगता है कि निकटतम आप सी ++ से सी अनुवादक है। (क्या आउराऊ कंपाइलर ऐसा नहीं करता है?)
कुछ उपकरण हैं लेकिन मैंने कोशिश नहीं की है इसलिए मुझे नहीं पता कि वे वास्तव में क्या करते हैं या वे इसे कितनी अच्छी तरह से करते हैं। आप [TempLight] (https://github.com/sabel83/templight) या [मेटाशेल] (https://github.com/sabel83/metashell) देख सकते हैं –
मैं "चरणबद्ध" के प्रश्न का उत्तर नहीं दे सकता टेम्पलेट संकलन, लेकिन जहां तक "printf-style डिबगिंग" है, आप बिल्ड आउटपुट पर कस्टम टिप्पणियां या चेतावनियां मुद्रित करने के लिए प्रीप्रोसेसर निर्देशों का उपयोग कर सकते हैं। http://stackoverflow.com/questions/3826832/is-there-a-portable-way-to-print-a-message-from-the-c-preprocessor – iwolf
वास्तव में संबंधित नहीं है: * के बाद * प्रकार को घटाया गया है , आप इसके (उलझन) नाम प्राप्त करने के लिए 'टाइपिड' का उपयोग कर सकते हैं। – edmz