boost庫(kù)有必要學(xué)嗎 為什么有很多出名開(kāi)源的C/C 方面的高性能網(wǎng)絡(luò)庫(kù),比如libevent,boost-asio,有些企業(yè)還要自己寫(xiě)?
為什么有很多出名開(kāi)源的C/C 方面的高性能網(wǎng)絡(luò)庫(kù),比如libevent,boost-asio,有些企業(yè)還要自己寫(xiě)?我認(rèn)為,是構(gòu)建輪子還是直接使用開(kāi)源庫(kù),很大程度上取決于部門負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí)
為什么有很多出名開(kāi)源的C/C 方面的高性能網(wǎng)絡(luò)庫(kù),比如libevent,boost-asio,有些企業(yè)還要自己寫(xiě)?
我認(rèn)為,是構(gòu)建輪子還是直接使用開(kāi)源庫(kù),很大程度上取決于部門負(fù)責(zé)人的個(gè)人喜好。曾幾何時(shí),c開(kāi)發(fā)人員熱衷于重新構(gòu)建輪子,那么為什么有些企業(yè)要自己編寫(xiě)呢?我在項(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ò)的書(shū)。
本文是作者《一個(gè)程序員的奮斗史》悟空問(wèn)答原創(chuàng)文章,未經(jīng)允許轉(zhuǎn)載,抄襲將被追究
boost庫(kù)一般用在什么應(yīng)用?boost有GUI庫(kù)嗎?
下面是boost的簡(jiǎn)介。個(gè)人感覺(jué)是標(biāo)準(zhǔn)庫(kù)的擴(kuò)展,實(shí)現(xiàn)了很多實(shí)用級(jí)的功能。R它有一個(gè)圖形,但它不應(yīng)該是您想要的GUI庫(kù)。如果你想要一個(gè)GUI庫(kù),你可以使用Wx。
boost庫(kù)里面主要有些什么功能?有這個(gè)庫(kù)之后c 有些什么進(jìn)步?
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)站。
學(xué)習(xí)C ,就學(xué)習(xí)STL庫(kù)好,還是boost庫(kù)好?
1. STL是實(shí)現(xiàn)基本數(shù)據(jù)結(jié)構(gòu)的算法。Boost是STL的擴(kuò)展。它增加了智能指針、圖形操作等模塊。
2. 這兩個(gè)庫(kù)是在C標(biāo)準(zhǔn)委員會(huì)的指導(dǎo)下開(kāi)發(fā)的。STL包含了常用的算法和集合類型,并且使用了泛型的思想。Boost是STL的一個(gè)擴(kuò)展,STL是一個(gè)更強(qiáng)大、更實(shí)用的庫(kù)。所以作為初學(xué)者,最好先掌握STL,然后在需要編寫(xiě)應(yīng)用程序時(shí)再學(xué)習(xí)boost庫(kù)。