日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 程序喵大人

大家應(yīng)該都知道,Boost是個準標準庫,一般Boost里比較先進的模塊可能會進下一代的C++標準。


因為我最近在開發(fā)Log相關(guān)的功能,所以業(yè)余時間也在看看市面上的Log模塊是怎么設(shè)計的。


關(guān)于Log,想必大多數(shù)C++開發(fā)都在使用glog或者spdlog,最近我發(fā)現(xiàn)Boost中也有個Log模塊,于是看了看,發(fā)現(xiàn)功能好強大。


Log模塊整體設(shè)計如圖:

圖片來源于:https://www.boost.org/doc/libs/1_79_0/libs/log/doc/html/log/design.html


圖中可以發(fā)現(xiàn),整個log的模塊劃分了多層架構(gòu),source、core、sink。

可以配置多個source,還可以配置多個sink。


直接看下它的編譯與使用:

首先去boost官網(wǎng)https://github.com/boostorg/boost下載源碼。

之后執(zhí)行bootstrap.sh腳本后會生成b2可執(zhí)行程序,執(zhí)行./b2 再install就ok。


那想單獨使用Log模塊怎么辦,這里拿example里的main.cpp舉例:

可以使用這個命令來編譯:


clang++ -std=c++11 -DBOOST_LOG_DYN_LINK main.cpp -lboost_log -lpthread -lboost_log_setup -lboost_thread -lboost_system


然后再執(zhí)行:


大家最好對照著示例代碼:https://github.com/boostorg/log/blob/fa675cca2b58d6c087fc63de56e894fa7fb607f3/example/advanced_usage/main.cpp


如果自己項目中想使用Log的話,個人認為可以在spdlog或者Boost中二選一,如果僅使用log,而不使用其他功能,可以使用spdlog。如果項目中本身就依賴了Boost,可以考慮直接使用boost中的log。


更多內(nèi)容在 一個優(yōu)質(zhì)的C++學習圈 里,來一起鉆研C++和Rust吧。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉