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