boost庫有必要學(xué)嗎 為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?我認(rèn)為,是構(gòu)建輪子還是直接使用開源庫,很大程度上取決于部門負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí)
為什么有很多出名開源的C/C 方面的高性能網(wǎng)絡(luò)庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
我認(rèn)為,是構(gòu)建輪子還是直接使用開源庫,很大程度上取決于部門負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí),c開發(fā)人員熱衷于重新構(gòu)建輪子,那么為什么有些企業(yè)要自己編寫呢?我在項(xiàng)目開始時(shí)不知道這個(gè)庫的存在,我不想以后再介紹它。
2)許多第三方庫依賴于許多其他第三方庫。要引進(jìn)a館,就得引進(jìn)B館、C館、D館,這無疑增加了院系成員的學(xué)習(xí)成本。
3)第三方開源庫通常會(huì)頻繁更新。如果你知道有一個(gè)bug,你想更新它嗎?基礎(chǔ)庫的更新無疑會(huì)花費(fèi)更多的開發(fā)時(shí)間和測試時(shí)間。
4)使項(xiàng)目整體可控。一旦引入的開放源代碼庫出現(xiàn)問題并且項(xiàng)目團(tuán)隊(duì)不熟悉它,這將是災(zāi)難性的。
5)現(xiàn)有開源庫過于復(fù)雜,學(xué)習(xí)成本高,團(tuán)隊(duì)成員水平參差不齊。
最后,附上一本我前段時(shí)間讀過的書。
本文是作者《一個(gè)程序員的奮斗史》悟空問答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載,抄襲將被追究
boost的靜態(tài)庫怎么使用?
編譯boost庫后,靜態(tài)庫將被放置在庫的stage/lib目錄中。
要使用它,請將boost添加到bashrcuroot=xxx/boostu1u51u0,boostLIBRARYDIR=${boostuuroot}/stage/lib。
編譯程序時(shí),應(yīng)指定boost的頭文件和庫路徑,例如演示.cpp-I$BOOSTuuroot-L$BOOSTLibrydir-lboostxxx-O演示
BOOST庫涵蓋所有內(nèi)容,幾乎所有的基本數(shù)據(jù)結(jié)構(gòu)和框架都可以在其中找到??梢钥闯?,boost是一個(gè)功能強(qiáng)大的邏輯庫,它的功能是STL的幾倍。在開發(fā)項(xiàng)目時(shí),接口尋找QT或MFC,而復(fù)雜的邏輯使用boost。你在中間定義設(shè)計(jì)。
C語言沒有什么需要改進(jìn)的,但是您的應(yīng)用程序取得了很大的進(jìn)步,主要是縮短了開發(fā)周期。Boost是原材料和車輪的倉庫。你不用擔(dān)心把這些東西扔掉。
至于boost中的內(nèi)容,讓我們轉(zhuǎn)到網(wǎng)站。
boost庫里面主要有些什么功能?有這個(gè)庫之后c 有些什么進(jìn)步?
Boost library是一些為C語言標(biāo)準(zhǔn)庫提供擴(kuò)展的C程序庫的總稱。Boost庫由Boost社區(qū)開發(fā)和維護(hù)。它的目的是為C程序員提供免費(fèi)的、同行評審的、可移植的庫。Boost庫可以與C標(biāo)準(zhǔn)庫完美結(jié)合,并為其提供擴(kuò)展功能。Boost庫使用Boost許可證來授權(quán)使用。根據(jù)該議定書,允許并鼓勵(lì)商業(yè)和非商業(yè)用途。