• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉,開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            pc-lint 資料

            Posted on 2008-12-20 16:28 S.l.e!ep.¢% 閱讀(1095) 評論(1)  編輯 收藏 引用 所屬分類: test
            使用pc-lint助力symbian開發
            使用pc-lint一段時間了,感覺確實對代碼質量提升有很大幫助。再此,寫一篇文章講講它在symbian開發中的使用方法。

            (1)什么是pc-lint?

            pc-lint是一個歷史悠久,功能異常強勁的靜態代碼檢測工具。它的使用歷史可以追溯到計算機編程的遠古時代(30多年以前)。經過這么多年的發展,它不但能夠監測出許多語法邏輯上的隱患,而且也能夠有效地幫你提出許多程序在空間利用、運行效率上的改進點,在很多專業級的軟件公司,比如microsoft, pc-lint檢查無錯誤無警告是代碼首先要過的第一關,偶個人覺得,對于小公司和個人開發而言,pc-lint也非常重要,因為基于開發成本考慮,小公司和個人往往不能拿出很多很全面的測試,這時候,pc-lint的強勁功能可以很好地提高軟件的質量。
            pc-lint目前是支持c和c++程序的語法檢查的,但很遺憾是一款商業軟件(官方網站):

            http://www.gimpel.com

            盡管如此,google一下,會發現在可用的“free”版本很多。。。

            在linux環境下有一個叫做splint的與pc-lint相似的代碼靜態分析工具也很好用,但是很可惜它只能支持c語言的分析。參考網址:

            (2)pc-lint都有哪些功能?

            1) pc-lint是一種靜態代碼檢測工具,可以說,pc-lint是一種更加嚴格的編譯器,不僅可以象普通編譯器那樣檢查出一般的語法錯誤,還可以檢查出那些雖然完全合乎語法要求,但很可能是潛在的、不易發現的錯誤。

            2) pc-lint不但可以檢測單個文件,也可以從整個項目的角度來檢測問題,因為C語言編譯器固有的單個編譯,這些問題在編譯器環境下很難被檢測,而pc-lint在檢查當前文件的同時還會檢查所有與之相關的文件,可想而知,它會對我們有很大的幫助。

            3) pc-lint支持幾乎所有流行的編輯環境和編譯器,比如Borland C++從1.x到5.x各個版本、Borland C++ Build、GCC、VC,VC.net、watcom C/C++、Source insight、intel C/C++等等,也支持16/32/64的平臺環境。

            4) 支持Scott Meyes的名著(Effective C++/More Effective C++)中說描述的各種提高效率和防止錯誤的方法。


            (3)如何使用pc-lint?


            pc-lint下載完畢后(一般“free”的版本都是“綠色”安裝版,直接解壓出來一個目錄即可),我這里舉例子就是解壓以后出來的目錄是d:\lint。

            進入這個lint的目錄,會發現有幾個主要的文件,lint.exe, lint-nt.exe等等。

            此時可以從命令行進入這里面看看下載到的pc-lint是什么版本的:

            C:\Documents and Settings\wayne>D:\Lint\lint-nt -v -i"D:\Lint" std.lnt

            PC-lint for C/C++ (NT) Vers. 8.00x, Copyright Gimpel Software 1985-2008
            我這里是打過補丁的也就是8.00的x的版本(是8.00版里面的最后一個版本,hoho),一般網上“free”的,大都是8.00e的版本。


            可以到如下地址來下載patch補丁,不過現在的patches似乎都升級到9.00a以后的了,但愿9.00a的“free”版能早點出來

            http://www.gimpel.com/html/ptch90.htm#pcl

            好了,如果運行lint-nt以后,可以看到有版本號輸出,以及什么can not open files之類的提示,那么恭喜,你的pc-lint已經可以工作了。

            (4)配置pc-lint

            看看有沒有一個叫做lin.bat的批處理文件,如果沒有,就手工添加一個,如下內容:


            d:\lint\lint-nt -v -i"d:\lint" std.lnt %1 %2 %3 %4 %5 %6 %7 %8 %9

            好了,然后把d:\lint這個路徑添加到系統的path里面去,然后“運行”->“cmd”打開shell,然后輸入:

            lin [回車]

            看看有沒有輸出,ok,如果有,那么代表你的for symbian的pc-lint環境就弄好了。

            (5)把pc-lint跟vs2005集成

            集成過程很簡單,其實只要是支持調用第三方的程序的ide,更準確地說是editor都可以無縫地將pc-lint集成到環境中去,例如:vs系列ide,carbide c++,ultra editor, edit plus, source insight等等,hoho,偶甚至把emacs for win32也配置出來了

            1)打開vs2005,選擇"tools"->"externel tools...",然后選擇"add"

            2)在title里隨便輸點什么,例如“lint current file”

            3)在command里面輸入:d:\lint\lin.bat

            4)在argument里面輸入:-i"$(SolutionDir)\inc" "$(ItemPath)"

            這里的-i就代表pc-lint進行語法檢查的時候當遇到頭文件的時候要跑到哪個目錄下面去找的意思,你也可以這樣寫:"$(SolutionDir)\group\conf.lnt"然后在你的group目錄里面建立一個叫做conf.lnt的文件,把所有程序用到的include目錄都用-i的形式放進去。

            5)在intial directory里面輸入:"$(ItemPath)"

            6)最后,很重要的一點就是,需要把use output window這一項前面的小方塊勾上。

            然后按下確定,就一切ok了。

            Feedback

            # re: pc-lint 資料  回復  更多評論   

            2009-04-10 12:23 by wisher
            你好朋友,我這里需要pclint,能麻煩你發一份到我郵箱里嗎?謝謝你
            361087546@qq.com
            亚洲欧洲日产国码无码久久99| 久久久久97国产精华液好用吗| 亚洲精品tv久久久久| 亚洲国产精品综合久久网络| 亚洲国产综合久久天堂| 成人资源影音先锋久久资源网| 久久国产美女免费观看精品| 亚洲国产成人久久精品99| 国产成人久久精品区一区二区| 久久强奷乱码老熟女| 国产精品久久99| 久久久久亚洲AV片无码下载蜜桃 | 久久九九久精品国产| 色偷偷91久久综合噜噜噜噜| 亚洲国产精品久久久久网站| 欧美日韩精品久久久久| 国产精品久久国产精麻豆99网站| 香蕉久久夜色精品国产尤物| 国产精品美女久久久网AV| 亚洲AV日韩精品久久久久久久| 亚洲欧美成人久久综合中文网| 成人午夜精品久久久久久久小说| 久久久精品2019免费观看| 伊人久久精品影院| 欧美色综合久久久久久| 狠狠精品久久久无码中文字幕| 国产69精品久久久久777| 精品国产青草久久久久福利| 久久久久亚洲AV无码观看| 久久亚洲AV无码精品色午夜| 狠狠色伊人久久精品综合网| 久久一区二区免费播放| 99久久国产亚洲高清观看2024| 国产精品美女久久久网AV| 久久精品国产清自在天天线| 久久久国产精品网站| 国产免费久久精品99久久| 久久亚洲高清综合| 久久国产欧美日韩精品| 精品久久久久久中文字幕大豆网| 亚洲综合精品香蕉久久网|