亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 一般公司開發(fā)用什么c++函數(shù)庫 [打印本頁]

作者: Germin    時間: 2013-08-21 17:25
標題: 一般公司開發(fā)用什么c++函數(shù)庫
做游戲或通信相關,c++一般用什么函數(shù)庫
作者: linux_c_py_php    時間: 2013-08-21 18:53
boost最靠譜, 其他都忽略吧.
作者: Aquester    時間: 2013-08-21 22:25
Germin 發(fā)表于 2013-08-21 17:25
做游戲或通信相關,c++一般用什么函數(shù)庫


有些使用ACE,不過不推薦,有些使用ICE,不過基礎類庫推薦使用boost。
作者: csumck    時間: 2013-08-22 12:52
大些的公司都有長年積累下來的庫和工具的。 其他的就是各種開源庫隨便用。。
作者: sxcong    時間: 2013-08-22 15:44
準確地說,大多都是c庫,c++庫用的比較少。
比如網(wǎng)絡用libevent,libev,libuv
http相關用libcurl
正則用libpcre
圖像用freeimage,imagemagick,opencv
音視頻用ffmpeg
內(nèi)存庫用tcmalloc或Zmalloc
xml用libxml2
json用jsonc
還有openssl什么的

不過,大多數(shù)框架都是自己寫的,里面需要什么時再用相關的開源庫
boost是個很不錯的庫,很適合學習,不過很少直接拿來用到自己項目上,最多是參考或使用其中一部分,比如boost.python。


作者: cxytz01    時間: 2013-08-22 17:38
牛,mark。

sxcong 發(fā)表于 2013-08-22 15:44
準確地說,大多都是c庫,c++庫用的比較少。
比如網(wǎng)絡用libevent,libev,libuv
http相關用libcurl

作者: 群雄逐鹿中原    時間: 2013-08-22 21:01
一般把各種庫成功的編譯過去,就要死要活的了
作者: myworkstation    時間: 2013-08-22 22:34
回復 1# Germin


    大部分公司都是直接復用成功項目的代碼,不管成功項目的代碼有多么的不合理,改善的余地很小。C++項目 boost+stl可以滿足絕大多數(shù)需求了,但國內(nèi)C++程序員對stl和boost的掌握程度很成問題,最后國內(nèi)公司的普遍現(xiàn)況是C++項目都在用著C的庫(有的庫的確沒有C++版的,但更多的人其實理解和使用的就是C++里的C而不是C++,類型轉換全用(),atoi等等,文件操作從來不用stream)。由于C++技術水平的問題很少有公司在這上面有稱得上成功的積累,既使有牛人,由于項目歷史負擔、公司文化守成、不重視技術等問題這個積累總是很難完成。

真正的項目開發(fā)過程中需要各種各樣的工具類和功能模塊,能在這個大方向滿足這個需求的只兩個庫,boost,poco。poco比boost的功能還要全面,但是代碼風格很MFC化,質量也比不過boost。
通常項目需求量最大的基礎庫功能基本上是以下功能模的不同集合:正則表達式、多線程、IO、算法、容器、網(wǎng)絡通信、日期時間、日志、配置文件處理(json,text,xml) ,而這些在stl+boost中都涵蓋了。所以用好stl+boost是不需要那么多庫的。

作者: cxytz01    時間: 2013-08-23 10:27
myworkstation 發(fā)表于 2013-08-22 22:34
回復 1# Germin


你好,請教下c++的文件操作使用stream,和c的fopen ,fprintf這類有什么區(qū)別,性能呢?
作者: myworkstation    時間: 2013-08-23 10:43
回復 9# cxytz01


    這個要去具體的測試,不同的編譯器和庫版本都會有性能差異。但從使用來講無異stream是更方便的,適配性更強。以下是別人做一個測試,讀取1G大小的2進制文件,使用不同的buffer size,性能有很大區(qū)別。
32k buffer reads
fstream.read: 23.343s
fread: 22.625s
64k buffer reads
fstream: 22.625s
fread: 58.594s
128k buffer reads
fstream.read: 21.565s
fread: 41.25s
256k buffer reads
fstream.read: 23.578s
fread: 41.188s


問題是的關健是為什么用C++,卻一定要使用c style的代碼。
作者: sxcong    時間: 2013-08-26 15:01
回復 7# 群雄逐鹿中原


    不會的,你編譯一下mysql和php源碼看看,用了至少10幾個開源項目,yum,configure,make一切OK。假設mysql和php用boost來寫,編譯上不會更容易很多。
作者: nizvoo    時間: 2013-08-30 16:22
我現(xiàn)在開始也只用c接口的,感覺c++還是太復雜。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2