2010-01-22 41 views
3

我想在我的系統上運行夾板全程序分析。然而,該系統非常大,不同的部分用不同的編譯器定義和包含路徑進行編譯。我可以看到如何將這些信息傳遞給單個文件的夾板,但我無法弄清楚如何在整個程序中使用它。有沒有人知道這樣做的方式?夾板整個程序有一個複雜的構建過程

回答

1

假設你有一個Makefile你可以創建一個新的目標;那麼你會通過實際的編譯步驟重複他們使用Splint而不是編譯器。

但是,我的建議是全程序方法。如果你能把你的系統分離成不同的部分,我寧願一個接一個地檢查它們。由於您的程序「非常大」,因此您需要爲您的模塊中的每一個準備一個gazillion警告...... 。一旦您將源代碼與相應的語義註釋分開後,您就會開始擺脫它們。祝你好運! :)

+0

我相信我特別尋找一些只在整個程序模式下產生的輸出。而且我有許多Makefiles,這些東西有成千上萬行,所以擴展構建過程以理解split是不可行的。 – 2011-05-19 01:56:38

+0

如果你有一個複雜的構建過程(比如說你自動生成一些源代碼文件,複製或移動另一個文件等),Splint無法自動完成該過程(甚至不知道)。所以我真的相信剩下的唯一方法就是*模仿構建過程(通過Makefile)。 – 2011-05-19 06:13:47