बिना सी/सी ++ फ़ंक्शन मैक्रोज़ का विस्तार करें सी/सी ++ फ़ाइल में, सभी फ़ंक्शन मैक्रोज़ को प्रीप्रोसेसर के माध्यम से चलाने के बिना, मैं सभी फ़ंक्शन मैक्रोज़ का परीक्षण/विस्तार कैसे करूं?प्रीप्रोसेसर
#include <iostream>
#define AAA(a) cout << "function " << a << endl
using namespace std;
int main(){
AAA(12);
}
इस में
: उदाहरण के लिए, वहाँ एक प्रोग्राम या विधि है जो इस बदलना चाहते हैं?
#include <iostream>
using namespace std;
int main(){
cout << "function " << 12 << endl;
}
मैं क्योंकि सभी फाइलों में शामिल पूर्वप्रक्रमक के माध्यम से चलाने के लिए नहीं करना चाहती "जीसीसी -E <>" बनाने के उत्पादन वास्तव में बदसूरत, मैं सिर्फ सभी भूमि के ऊपर के बिना एक जोड़े को सरल मैक्रो विस्तार चाहते हैं।
आप शायद कुछ कोड लिख सकते हैं जो लाइब्रेरी के रूप में क्लैंग का उपयोग करते हैं, और इसका प्रीप्रोसेसर का उपयोग करते हैं। जब तक 'grep -v^\ # में myfile शामिल नहीं है | gcc -E' आपके लिए पर्याप्त है। –
सी ++ के लिए रिशेर्पर आपको ऐसा करने देता है। – chris
सुझाव मैट के लिए धन्यवाद, मैं क्लैंग में देखूंगा। हालांकि, यह कोड की 33k + लाइनों से अधिक हो जाएगा, इसलिए मुझे लगता है कि grep थोड़ा गंदा हो जाएगा। मैं अभी एक मैक पर हूं लेकिन मैं एक वीएम पर हॉप करूंगा और रिशेर्पर को एक शॉट भी दूंगा। – Involution