有一個建立在C++之上的專有API。因此它使用C++的所有功能,然後擁有自己的API。有一些API的功能與C++ API完全相同(比如對於具有Stralloc的malloc),這些API是出於性能原因而提供的。開發專有API的靜態源代碼分析工具?
儘管C++有很多靜態代碼分析器可用,但我們不能使用它們中的任何一種。需要有一個靜態代碼分析器,可以使用專有API在代碼上運行。
我想知道我該如何開始開發代碼分析器。它可能不需要像面向C++的面向特徵的面向對象。我想從基本的東西開始,比如報告未使用的變量,緩衝區溢出和內存泄漏。
任何指導將不勝感激。
[UPDATE]我發現了以下問題,這是我正在尋找的,唯一的區別是,而不是Java我關心的是專有API。到目前爲止,我已經得到了幾個很好的答案,但我真的很想從那些經歷過這種發展的人那裏瞭解更多。
Introduction to Static Analysis
但是這樣的剖析器肯定會與諸如boost :: bind,signals和其他爲C++增加非強制範例的構造混淆。 – EFraim 2009-07-24 22:00:19
就像我剛纔提到的,有些API是用來代替C++ API的。例如,不使用free(),而是使用Strfree()API,它與free()完全相同,但出於性能方面的原因使用。所以任何普通的C++分析器都無法識別這一點。 – user32262 2009-07-24 22:08:39