• <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>

            Codejie's C++ Space

            Using C++

            隨筆:C++/C“混用”的害死人


                 本地在使用LingosHook時,意外發(fā)現(xiàn)內(nèi)存占用越來越高,很是奇怪,因為自以為多年編程養(yǎng)成的習(xí)慣對內(nèi)存的使用還是很敏感的,不應(yīng)該犯“內(nèi)存泄露”,這樣“常見且低級”的錯誤的。
                 一開始懷疑是抓取IE窗口內(nèi)容部分代碼有問題,因為自己對COM不很熟悉,其中涉及很多少用的類型和方法,加上DLL和APP間交換數(shù)據(jù)也是用了new操作的。然而去除這部分功能,內(nèi)存依然在泄露,越發(fā)覺得沒有道理了,因為其它代碼除了wxWidgets都是自己敲的了,wxWidgets是不會出問題的(做任何判斷的時候,需要先定義一個稱為不變量或者基礎(chǔ)點樣的標(biāo)桿,不然沒有對比或者基礎(chǔ),是難以確認問題所在的),然而事實經(jīng)過隔離分析,發(fā)現(xiàn)問題就是出現(xiàn)在自己的代碼中--TinyHtmlParser對象。這就奇怪了,代碼不長,看來看去,沒發(fā)現(xiàn)有這樣的錯誤啊,new了,也free了,怎么還有泄露呢?最后開始懷疑自己了,于是在new的地方和free的地方分別加上計數(shù)器,可是計數(shù)器值相等,就是說new了多少對象,也free了多少對象。。。瘋了。。。
                 當(dāng)然最終還是發(fā)現(xiàn)問題所在了,唉,將C++和C同時放在腦袋里(寫TinyHtmlParser時是上班寫C,下班寫C++)實在是太害人了--new出來的對象怎么能用free釋放呢?!該用delete啊。。。唉,C++/C混用害死人啊。。。



            <-------LingosHook說明分隔線-------->
                由于LingosHook安裝包的制作工程只能下班編譯,因此這個內(nèi)存泄露問題要等晚上重新打包更改了,計劃也修改一下分析結(jié)果的過程的代碼,以其更方便的支持多詞典分析,同時也減少了HTML字串的次數(shù)。以前理論上是有N個詞典結(jié)果,需要N+1此分析,改了之后只需要一次了,和詞典數(shù)量無關(guān)了。

            posted on 2010-03-05 17:50 codejie 閱讀(583) 評論(4)  編輯 收藏 引用 所屬分類: C++隨筆而已

            評論

            # re: 隨筆:C++/C“混用”的害死人 2010-03-06 21:29 陳梓瀚(vczh)

            使用智能指針……  回復(fù)  更多評論   

            # re: 隨筆:C++/C“混用”的害死人[未登錄] 2010-03-07 09:00 codejie

            @陳梓瀚(vczh)
            auto_ptr不能放在容器中,且TinyHtmlParser使用的是C風(fēng)格的List,需要類似prev和next的,所以還是原生指針比較好用的。  回復(fù)  更多評論   

            # re: 隨筆:C++/C“混用”的害死人[未登錄] 2010-03-09 06:52 Liu

            哈哈哈,樂死我了。

            你的東西哪里可以下載阿?  回復(fù)  更多評論   

            # re: 隨筆:C++/C“混用”的害死人 2010-03-09 09:42 codejie

            @Liu
            至于樂成這樣嗎。。。是不是看我被搞死,你很開心啊。。。
            另,不要說‘哪里下載’這樣的話好不?就在下一個隨筆里面,你這樣說弄得跟個‘托’似的。。。  回復(fù)  更多評論   

            公告

            Using C++

            導(dǎo)航

            統(tǒng)計

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            国产美女久久精品香蕉69| 伊人久久大香线蕉av一区| 欧美午夜A∨大片久久 | 99久久综合国产精品免费| 久久精品国产福利国产秒| 亚洲色大成网站www久久九| AA级片免费看视频久久| 久久这里只有精品久久| 色综合久久中文字幕综合网| 久久香蕉一级毛片| 性高湖久久久久久久久| 久久久国产视频| 久久精品国产亚洲欧美| 久久精品国产亚洲av麻豆蜜芽 | 免费精品久久天干天干| 26uuu久久五月天| 72种姿势欧美久久久久大黄蕉| 日批日出水久久亚洲精品tv| 亚洲国产精品成人久久| 久久精品视频91| 国产成人精品白浆久久69| 国产激情久久久久影院小草| 久久久久亚洲精品男人的天堂| 亚洲人AV永久一区二区三区久久 | 中文精品久久久久国产网址| 99久久精品国产麻豆| 久久97久久97精品免视看 | 国产精品久久久久久久午夜片| 久久人人爽人人爽人人片AV麻豆 | 最新久久免费视频| 思思久久99热只有频精品66| 国产999精品久久久久久| 久久久久久久99精品免费观看| 精品久久久久久久| 亚洲国产精品成人AV无码久久综合影院| 综合久久一区二区三区| av无码久久久久不卡免费网站 | 91麻精品国产91久久久久 | 日韩欧美亚洲综合久久| 久久久一本精品99久久精品88| 人人妻久久人人澡人人爽人人精品|