2015-06-20 22 views
5

के लिए कस्टम नियम लिखना मैं स्थिर विश्लेषण के लिए cppcheck का उपयोग कर रहा हूं। समीक्षा प्रक्रिया में तेजी लाने के लिए मैं कुछ कस्टम नियमों, को देखने के लिए cppcheck सेट अप करना चाहता हूं, उदाहरण के लिए कि गेटर फ़ंक्शंस को कॉन्स्ट के रूप में परिभाषित किया गया है या नहीं।cppcheck

यदि किसी को भी cppcheck के लिए कस्टम नियम लिखने का अनुभव है तो कृपया कस्टम नियम लिखने के लिए आप कुछ उदाहरण प्रदान कर सकते हैं?

पीएस मैंने एक उपकरण खोजने के लिए कुछ शोध किया है जो मुझे कस्टम नियम लिखने और समीक्षा प्रक्रिया को तेज़ी से बनाने की अनुमति देगा। मैं इस विषय के बारे में इन कड़ियों

What open source C++ static analysis tools are available?

C++ static code analysis tool on Windows

A free tool to check C/C++ source code against a set of coding standards?

+0

हाय, टीएम_। ऑफलाइन संसाधनों के लिए अनुरोध और उपकरण सुझावों के अनुरोध अनुरोध स्टैक ओवरफ्लो के लिए ऑफ-विषय हैं। –

+1

हाय @DrewDormann वास्तव में cppcheck के लिए कस्टम नियम लिखने के बारे में मेरा सवाल है। अगर यहां तक ​​कि ऑफ-विषय का भी जिक्र है तो मैं इस सवाल को अपने प्रश्न से हटा सकता हूं। –

+0

मैं शर्त लगाता हूं कि मदद करेगा। मैंने आपके द्वारा लिखे गए प्रत्येक वाक्य को फिर से पढ़ा और खुद से पूछा * "क्या यह एक प्रश्न है?" * मुझे कहीं भी कोई प्रश्न नहीं मिला। –

उत्तर

6

मैं एक Cppcheck डेवलपर हूं खोजने के लिए है।

आप ऐसे नियम जोड़ने के लिए शायद --rule और --rule-file विकल्पों का उपयोग कर सकते हैं।

\sget[A-Za-z]+\(\)\s+{\s+return 

यह अपने कोड बेस पर निर्भर करता है: हो सकता है कि आप इस तरह के रूप रेगुलर एक्सप्रेशन का उपयोग कर सकते हैं।

यदि आप नियमित अभिव्यक्ति लिख सकते हैं तो कस्टम नियम बनाने का यह सबसे प्रत्यक्ष और सरल तरीका है।

अधिक जानकारी के लिए

, यहाँ "लेखन नियम" लेख पढ़ें: http://sourceforge.net/projects/cppcheck/files/Articles/

लेकिन हो सकता है आप और अधिक परिष्कृत नियम है कि Cppcheck SymbolDatabase, tokenlist और वाक्य रचना पेड़ का उपयोग करके इस तरह के गेटर तरीकों के लिए खोज लिखना चाहते हैं। आप तब --rule और --rule-file का उपयोग नहीं कर सकते हैं। आपके पास ये विकल्प हैं:

  • उपयोग करें - डंप करें और आउटपुट डेटा (xml) पढ़ने वाली अपनी कस्टम स्क्रिप्ट लिखें।
  • सी ++ कोड लिखें और इसे Cppcheck में संकलित करें। यह अपेक्षाकृत सीधा इम्हो है, लेकिन यह आवश्यक है कि आप स्वयं को Cppcheck संकलित करें।
+1

हाय @ Daniel Marjamäki प्रतिक्रिया के लिए धन्यवाद। तो जैसा कि दस्तावेज़ में लिखा गया है, आपने नियम प्रदान किया है एक्सएमएल फ़ाइल है, क्या इस कस्टम बनाई गई नियम फ़ाइल का उपयोग cppcheck GUI के साथ करने का कोई तरीका है? जीयूआई में मैं नया नियम कहां स्थापित कर सकता हूं? –

+1

वर्तमान में आप जीयूआई में नियमों का उपयोग नहीं कर सकते हैं। मुझे लगता है कि जीयूआई में सुधार करना अपेक्षाकृत आसान होगा, लेकिन कोई भी ऐसा नहीं करना चाहता था। –

+1

ठीक है धन्यवाद मैं विंडोज सेमीडी टर्मिनल के साथ उपयोग करने की कोशिश करूंगा। –

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