基于libevent開源項目 為什么有很多出名開源的C/C 方面的高性能網絡庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
為什么有很多出名開源的C/C 方面的高性能網絡庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?我認為,是構建輪子還是直接使用開源庫,很大程度上取決于部門負責人的個人喜好。曾幾何時
為什么有很多出名開源的C/C 方面的高性能網絡庫,比如libevent,boost-asio,有些企業(yè)還要自己寫?
我認為,是構建輪子還是直接使用開源庫,很大程度上取決于部門負責人的個人喜好。曾幾何時,c開發(fā)人員熱衷于重新構建輪子,那么為什么有些企業(yè)要自己編寫呢?我在項目開始時不知道這個庫的存在,我不想以后再介紹它。
2)許多第三方庫依賴于許多其他第三方庫。要引進a館,就得引進B館、C館、D館,這無疑增加了院系成員的學習成本。
3)第三方開源庫通常會頻繁更新。如果你知道有一個bug,你想更新它嗎?基礎庫的更新無疑會花費更多的開發(fā)時間和測試時間。
4)使項目整體可控。一旦引入的開放源代碼庫出現(xiàn)問題并且項目團隊不熟悉它,這將是災難性的。
5)現(xiàn)有開源庫過于復雜,學習成本高,團隊成員水平參差不齊。
最后,附上一本我前段時間讀過的書。
本文是作者《一個程序員的奮斗史》悟空問答原創(chuàng)文章,未經允許轉載,抄襲將被追究
如何用libevent實現(xiàn)多線程的服務器?
基本思想是主線程開始偵聽并將事件提供給工作線程進行處理。您可以參考Memcache的源代碼。它的IO是一個非常典型的基于libevent的多線程IO服務
它清楚地告訴你libevent庫可以在VC中使用。方法:1。下載libevent源代碼。
2. 用VC編譯,一般編譯成靜態(tài)。
3. 在項目中配置libevent庫。
4. 參考文獻。您可以按照上述步驟操作。應該沒有問題。