2010-04-05 8 views
15

क्या कुछ अल्ट्रा फास्ट "वाक्यविन्यास मेरे कोड की जांच करता है, लेकिन जी ++/क्लैंग के लिए मोड संकलित नहीं करता है? जहां एकमात्र लक्ष्य यह जांचना है कि मेरे पास कोड वैध सी ++ कोड है या नहीं?जी ++/क्लैंग अल्ट्रा फास्ट पार्स लेकिन संकलन मोड नहीं?

उत्तर

15

-Fynyntax- केवल जीसीसी के लिए, यह शायद क्लैंग के लिए भी काम करना चाहिए क्योंकि वे जीसीसी के कमांड लाइन विकल्पों का अनुकरण करते हैं। चाहे यह काफी तेज़ है या नहीं, आपको समय लगेगा।

+0

गति समस्या वास्तव में पढ़ने स्रोत I/O पर, सिंटैक्स जांच पर कितना समय बिताया जाता है, कितना समय संकलन, और ऑब्जेक्ट आउटपुट I/O करने में कितना समय लगता है। मुझे संदेह है कि पर्याप्त स्रोत के साथ पढ़ने में I/O एक बड़ा हिस्सा हो सकता है और आपको सिंटैक्स जांच से केवल न्यूनतम लाभ दिखाई देगा। –

+1

@ मार्क: मेरे अनुभव में सीसीएसी के साथ संकलित आउटपुट कैशिंग को लगभग हमेशा समझ में आता है। और यह न भूलें कि सी ++ में टेम्पलेट्स भी शामिल हो सकते हैं जो शुद्ध संकलन समय skyrocket बना सकते हैं। –

+0

ध्यान दें कि g ++ में, यह केवल कोड को पार करता है और तत्काल नहीं होता है, इसलिए आप कई त्रुटियों को याद कर सकते हैं। झुकाव ++ तत्काल के बाद बंद हो जाता है, जो थोड़ा अधिक समय ले सकता है लेकिन अधिक उपयोगी है। साथ ही, कोड ऑप्टिमाइज़ेशन चरण के दौरान कुछ g ++ चेतावनियां उत्पन्न की जाती हैं, इसलिए आप उन्हें भी याद करेंगे। –

0

आप gcc-xml (http://www.gccxml.org/HTML/Index.html) पर एक नज़र डाल सकते हैं, जो स्रोत के xml विवरण का उत्पादन करने के लिए जीसीसी फ्रंटेंड का पुन: उपयोग करता है।

एक और विकल्प edg frontend (http://www.edg.com/index.php?location=c_frontend) का उपयोग करना है, लेकिन यह खुला स्रोत नहीं है, और सस्ते से बहुत दूर है।

0

शायद cppcheck आपके लिए एक विकल्प है? मुझे नहीं पता कि आप वास्तव में क्या परिणाम चाहते हैं। cppcheck शुद्ध वाक्यविन्यास जांच नहीं है। और अगर cppcheck तेजी से enougth है।

संबंधित मुद्दे