2012-04-17 16 views
9

संक्षेप में: मैं Roslyn की तरह कुछ ढूंढ रहा हूं लेकिन सी ++ के लिए।क्या सी ++ के लिए सेवा के रूप में एक कंपाइलर है?

मैं जहाँ मैं C++ फाइलों के साथ काम करने के लिए है एक ग # परियोजना के साथ काम कर रहा हूँ:

विस्तार में

। मेरे पास .h (लगभग 250 फाइलें) और .cpp का समूह है और मैं कक्षाओं और कार्यों को मैप करना चाहता हूं और क्या नहीं, इन फ़ाइलों में परिभाषित किया गया है।

यह मॉडलिंग कार्य के लिए है। मैं वास्तविक सी ++ लाइब्रेरी का उपयोग नहीं करना चाहता हूं।

मैंने सी ++ कोड नहीं लिखा, इसलिए मुझे यकीन नहीं है कि कहीं भी घोंसला वाले वर्ग हैं या नहीं। तो यह एक "सरल" regex कार्य नहीं है।

प्रोजेक्ट सी # में है, और जिस पुस्तकालय का मैं उपयोग करना चाहता हूं वह C++ में है। मैं इसे बदल नहीं सकता।

+2

भले ही कोई नेस्टेड कक्षाएं न हों, फिर भी यह करने के लिए "सरल" चीज़ नहीं होगी। टेम्पलेट तत्काल के बारे में क्या? इसके लायक होने के लिए, क्लेंग लोग ऐसा करने की कोशिश कर रहे हैं, लेकिन कुछ प्लेटफॉर्म पर काम करने के लिए AFAIK यह एक बड़ा दर्द है। –

+1

संभावित डुप्लिकेट [तरीकों की सूची प्राप्त करने के लिए सी # से सी/सी ++ कोड का विश्लेषण/सरल विश्लेषण कैसे करें] (http://stackoverflow.com/questions/8817712/how-to-parse-simple-analyze-cc-code -from-c-sharp-to-get-a-list-of-विधियों) –

उत्तर

9

मुझे विश्वास है कि libclang आपके पास इच्छित कार्यक्षमता है। यह मूल रूप से क्लैंग के सी/सी ++ एएसटी में संग्रहीत अधिकांश जानकारी तक पहुंचने के लिए एक सी इंटरफ़ेस है। प्रलेखन थोड़ा सा terse है इसलिए here कुछ उदाहरणों के साथ क्या कर सकता है पर एक अच्छा वीडियो है।

+0

आपने मुझे विश्वास दिलाया। :) मैं libclang के साथ काम करना शुरू कर दिया। वीडियो मेरे लिए बहुत अच्छी शुरुआत थी। आपके द्वारा अनुशंसित कोई और ट्यूटोरियल/walkthroughs? – Tenshiko