में मैक्रो प्रतिस्थापन मैं एक बाहरी नाम से परिभाषित मैक्रो के रूप में पारित फ़ाइल नाम के साथ #include
निर्देश का उपयोग करना चाहता हूं।# अंतर्निहित निर्देश
उदा।
#include #FILE".h"
जहां FILE
स्ट्रिंग MyFile
(उद्धरण के बिना) के रूप में परिभाषित किया जाएगा, में
#include "MyFile.h"
stringizing ऑपरेटर # जिसके परिणामस्वरूप प्रतीक FILE
एक मैक्रो तर्क नहीं है, जैसा कि यहाँ नहीं किया जा सकता। मैंने कोई फायदा नहीं उठाया है, मैंने अन्य दृष्टिकोणों की कोशिश की है।
क्या आपको कोई समाधान दिखाई देता है?
जीसीसी * बाहरी रूप से * फ़ाइलों को शामिल करने के लिए कुछ कार्यक्षमता प्रदान करता है http://stackoverflow.com/questions/3387453/include-header-files-using-command-line- विकल्प। यह आपकी मदद कर सकता है। –
दिलचस्प। मैं जीसीसी और एमएसवीसी दोनों का उपयोग कर रहा हूं, और मेरा # अंतर्निहित निर्देश पहली स्थिति में नहीं हो सकता है। –
यह संभव नहीं होगा, क्योंकि प्रीप्रोसेसर चरण के बाद तक आसन्न स्ट्रिंग शाब्दिक concatenation नहीं किया जाता है, उदाहरण के लिए '" माईफाइल "" एच "' वैध नाम शामिल नहीं होगा। क्या आप बस 'FILE' को वास्तविक हेडर नाम के रूप में परिभाषित नहीं कर सकते हैं, उदा। '-DFILE =" MyFile.h "'? –