日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Eclipse/CDT速度慢,占用內(nèi)存大的問題的可用解決方案 - 二氧化鬼的專欄 - CS...

 Delores 2007-09-12
今晚又折騰CDT幾個(gè)小時(shí),差不多有點(diǎn)思路,就個(gè)人的體會(huì)歸納一下,說(shuō)得不對(duì)之處,還請(qǐng)大家指正。我的環(huán)境是Eclipse3.1.1, CDT 3.0.1, jdk 1.5.0.06, linux fc4, gcc 4.0。別的環(huán)境沒試過(guò)。

CDT有很多性能/內(nèi)存方面的陷阱,
(1)indexer。CDT的有些功能需要indexer(我也不知道是哪些功能需要它,反正有人這么說(shuō)),我做過(guò)試驗(yàn),一個(gè)500多個(gè)cpp文件的項(xiàng)目的full indexer大約需要1個(gè)小時(shí)。CDT安裝后,默認(rèn)indexer是打開的。如果你只寫小程序,可以不管它。如果要寫中,大型開發(fā),最好關(guān)掉它。關(guān)掉方式:選擇具體的項(xiàng)目,右鍵->properties->C/C++ Indexer,選擇No Indexer?;蛘咭话惭bCDT插件,就在Windows->Preferences->C/C++->Indexer中,選擇No Indexer。

(2)CDT默認(rèn)有個(gè)選項(xiàng)"Follow #include's when parsing working copies"是選中的,當(dāng)你打開一個(gè)源文件時(shí),該文件include的所有文件它都要解析一遍。影響了速度。關(guān)掉這個(gè)選項(xiàng)后,CDT開發(fā)就和java開發(fā)速度上感覺不出來(lái)差別了。關(guān)掉方法:Windows->Preferences->C/C++->去掉"Follow......" 那項(xiàng)。

(3)關(guān)掉(2)中所說(shuō)的那個(gè)選項(xiàng)可能會(huì)影響到smart insert,也就是自動(dòng)提示功能。CDT(至少在我的環(huán)境下)這里有一個(gè)巨大無(wú)比的Bug,就是對(duì)include文件的解析經(jīng)常出現(xiàn)問題。如果選中(2)中所說(shuō)的那個(gè)選項(xiàng),許多文件的解析不完整(從右邊outline那里可以發(fā)現(xiàn)),不知道它怎么解析的,反正usr/include中許多頭文件都解析不成功。單是解析不成功還好啊,問題是,一旦你編輯include這些文件的源文件,一旦你輸入了.,->,或::,哈哈哈哈,等等吧,至少5分鐘才會(huì)出結(jié)果,然后你的內(nèi)存耗用會(huì)增加100M以上,如果再打一個(gè)這三個(gè)東東,再次等待,再次內(nèi)存泄漏。google上有人問,cdt咋占我1G的內(nèi)存呢?選中(2)那個(gè)選項(xiàng)還有一個(gè)問題,就是泛型解析不出來(lái)。關(guān)掉(2)中的那個(gè)選項(xiàng),會(huì)發(fā)現(xiàn),outline中源文件的解析完全正確。不過(guò),內(nèi)存泄漏還是會(huì)出現(xiàn),這時(shí)需要關(guān)掉Auto activation一項(xiàng)。關(guān)掉后就沒問題了,只是不能自動(dòng)提示/完成成員項(xiàng)了。關(guān)掉方法:Windows->Preferences-> C/C++->Editor->Code Assist,把Auto activation下面3個(gè)框中的勾去掉。

這樣性能表現(xiàn)差不多就和JDT差不多了。代價(jià)是不能使用自動(dòng)提示/完成這一現(xiàn)代IDE的基本功能。但是,和Linux環(huán)境下其它IDE相比, Eclipse/CDT在界面,易用性方面要強(qiáng)太多。例如UI的人性化,代碼閱讀,代碼模板,與SVN/CVS的集成,這時(shí)偶喜歡CDT的幾點(diǎn)。

最后來(lái)點(diǎn)煽情的:

Eclipse書商有一句話:Eclipse顛倒Java眾生。其實(shí),何止Java眾生,連不成熟的CDT都迷倒了許多人。象偶這種以前用. net/C#,同時(shí)極度討厭C++的人,便因?yàn)閑clipse及其易用性上的設(shè)計(jì),還有相關(guān)的文化而開始喜歡上了Java和C++的開發(fā),能夠在編程中感覺到詩(shī)一般的魅力。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多