第一av在线_日韩成人久久久_亚洲人成电影网站色_精品精品导航_亚洲综合中文_精品国产91久久久久久_可以在线观看的黄色_99热这里有精品

您當(dāng)前的位置 :環(huán)球傳媒網(wǎng)>前瞻 > 正文
全球微速訊:#Spdlog# Spdlog的編譯與使用
2023-01-12 22:55:54 來源:程序員客棧 編輯:

“文章所涉及內(nèi)容更多來自網(wǎng)絡(luò),在此聲明,并感謝知識(shí)的貢獻(xiàn)者!”


(資料圖片)

CMake—

Cmake簡(jiǎn)介

CMake是一個(gè)跨平臺(tái)的編譯(Build)工具,可以用簡(jiǎn)單的語句來描述所有平臺(tái)的編譯過程。

CMake能夠輸出各種各樣的makefile或者project文件,能測(cè)試編譯器所支持的C++特性,類似UNIX下的automake。

CMake 不僅可以編譯源代碼、制作程序庫、產(chǎn)生適配器(wrapper)、還可以用任意的順序建構(gòu)執(zhí)行檔。CMake 支持 in-place 建構(gòu)(二進(jìn)檔和源代碼在同一個(gè)目錄樹中)和 out-of-place 建構(gòu)(二進(jìn)檔在別的目錄里),因此可以很容易從同一個(gè)源代碼目錄樹中建構(gòu)出多個(gè)二進(jìn)檔。CMake 也支持靜態(tài)與動(dòng)態(tài)程式庫的建構(gòu)。

https://blog.csdn.net/weixin_45525272/article/details/122053959

下載并安裝Cmake

https://cmake.org/download/

Cmake編譯教程

https://www.bilibili.com/read/cv14249845

https://blog.csdn.net/m0_61812914/article/details/127952081

Eigen—

Eigen簡(jiǎn)介:

Eigen是一個(gè)高層次的C ++庫,有效支持線性代數(shù),矩陣和矢量運(yùn)算,數(shù)值分析及其相關(guān)的算法。

下載Eigen源碼

https://eigen.tuxfamily.org/index.php?title=Main_Page

https://gitlab.com/libeigen/eigen/-/releases/3.4.0

編譯安裝Eigen源碼

https://www.likecs.com/show-204786214.html#sc=2625

https://blog.csdn.net/OOFFrankDura/article/details/103586893

PCL—

PCL簡(jiǎn)介

PCL(Point CloudLibrary)是在吸收了前人點(diǎn)云相關(guān)研究基礎(chǔ)上建立起來的大型跨平臺(tái)開源C++編程庫,它實(shí)現(xiàn)了大量點(diǎn)云相關(guān)的通用算法和高效數(shù)據(jù)結(jié)構(gòu),涉及到點(diǎn)云獲取、濾波、分割、配準(zhǔn)、檢索、特征提取、識(shí)別、追蹤、曲面重建、可視化等。支持多種操作系統(tǒng)平臺(tái),可在Windows、Linux、Android、Mac OS X、部分嵌入式實(shí)時(shí)系統(tǒng)上運(yùn)行。如果說OpenCV是2D信息獲取與處理的結(jié)晶,那么PCL就在3D信息獲取與處理上具有同等地位,PCL是BSD授權(quán)方式,可以免費(fèi)進(jìn)行商業(yè)和學(xué)術(shù)應(yīng)用。

https://blog.csdn.net/qq_41951923/article/details/103375681

https://blog.csdn.net/expert_joe/article/details/123342098

下載并安裝PCL

https://github.com/PointCloudLibrary/pcl/releases/tag/pcl-1.8.1

下載PCL源碼

http://pointclouds.org/documentation/index.html

編譯PCL

https://blog.csdn.net/weixin_43186817/article/details/103469057

https://blog.csdn.net/luolaihua2018/article/details/116919716

https://blog.csdn.net/hanxue20100/article/details/116654750

https://blog.csdn.net/weixin_44456692/article/details/113508167

https://blog.csdn.net/whutt_/article/details/122756505

https://blog.csdn.net/m0_61812914/article/details/127952081

Spdlog編譯—

Spdlog簡(jiǎn)介

spdlog是一款優(yōu)秀的基于C++11的輕量級(jí)的日志管理庫,使用時(shí)只需要引入頭文件即可。將記錄日志交給spdlog,事半功倍。

下載spdlog源碼

https://github.com/gabime/spdlog

編譯spdlog源碼

使用Cmake GUI編譯spdlog

-在spdlog源碼中新建build文件夾

-在Cmake Gui 配置項(xiàng)目的編譯信息

-配置VS的屬性

-點(diǎn)擊Generate,生成spdlog.sln

-vs 2017編譯生成 spdlog.dll

生成的目標(biāo)文件:

spdlog_project\spdlog-1.x\build\Release\spdlog.lib

Spdlog調(diào)用—

-新建項(xiàng)目

-創(chuàng)建第三方庫文件夾

-將編譯生成的spdlog.lib文件復(fù)制到第三方庫ThirdLib文件夾

-將spdlog源碼中include文件夾下的spdlog文件夾復(fù)制到ThirdLib文件夾

-配置spdlog庫的引用信息

https://www.jianshu.com/p/64bcc1fe3fab

-在自定義類中引用spdlog

-運(yùn)行效果

Spdlog教程—

Spdlog特性

-非???/p>

-只包含頭文件

-無需依賴第三方庫

-支持跨平臺(tái) - Linux /Windows on 32/64 bits

-支持多線程

-可對(duì)日志文件進(jìn)行循環(huán)輸出

-可每日生成日志文件

-支持控制臺(tái)日志輸出

-可選的異步日志

-支持日志輸出級(jí)別

-可自定義日志格式

Spdlog 功能:

Spdlog只有一個(gè)管家register,管家按照日志名字管理所有日志(即文件日志和控制臺(tái)日志),管家有提供很多服務(wù),主要有輸出日志級(jí)別,刷新文件日志方式,設(shè)置日志格式等

Spdlog 結(jié)構(gòu):

spdlog可以分成三級(jí)結(jié)構(gòu),從上而下是logger registry、logger、sink,其各自功能如下:

logger registry(日志管理器):負(fù)責(zé)管理所有的logger,用戶建立的所有l(wèi)ogger都會(huì)在registry處進(jìn)行登記然后統(tǒng)一管理

logger(日志記錄器):是用戶直接操作的對(duì)象,通過操作logger進(jìn)行日志邏輯的生成

sink(日志記錄器槽):受logger控制,執(zhí)行具體的動(dòng)作(動(dòng)作包括寫入日志文件/輸出到控制臺(tái))

一個(gè)logger registry管多個(gè)logger,一個(gè)logger管多個(gè)sink。logger registry中的logger是通過name進(jìn)行對(duì)應(yīng)的。后面使用的時(shí)候可以直接通過名稱獲取對(duì)應(yīng)的日志對(duì)象。

有了這種層級(jí)結(jié)構(gòu),在代碼調(diào)用的時(shí)候,logger的每個(gè)操作都會(huì)下順到sink層面,調(diào)用sink的對(duì)象。比如像一些set_pattern()和set_level()。

日志庫的目的就是把日志信息寫到指定地方。從上面對(duì)于結(jié)構(gòu)的功能描述,sink才是真正操作日志進(jìn)行寫操作的結(jié)構(gòu),那sink可以把日志信息寫到哪里呢?主要有三個(gè)去向:??1)控制臺(tái)輸出(stdout)——默認(rèn)輸出方式??2)日志文件??3)數(shù)據(jù)庫或其他外部實(shí)體

Spdlog 存儲(chǔ):

spdlog中提供了以下幾種存放方式:

1)當(dāng)天日志(spdlog::daliy_logger):記錄當(dāng)天的所有日志,但在指定時(shí)間點(diǎn)會(huì)把日志清空

2)循環(huán)日志(spdlog::rotating_logger):日志創(chuàng)建成功后,如果寫入的日志大小超過限制就會(huì)寫入到新日志文件中去。不過同時(shí)存在的日志總數(shù)是有上限的,達(dá)到上限后按指定策略淘汰。需要特別注意的是日志更迭的規(guī)則是:當(dāng)日志A存滿時(shí),將日志A名稱更改為B,再新建一個(gè)日志命名為A,依次類推,直到達(dá)到上限數(shù)字

3)單個(gè)日志(spdlog::basic_logger):只有一個(gè)日志文件,所有日志都會(huì)在該文件中累加

除了3種文件日志外,輸出終端(控制臺(tái))也比較常用啦

4)輸出終端(spdlog::stdout_color):日志打印至終端,不同等級(jí)日志顏色不同

Spdlog 日志等級(jí)

enum level_enum {

trace= SPDLOG_LEVEL_TRACE 0

debug= SPDLOG_LEVEL_DEBUG 1

info = SPDLOG_LEVEL_INFO 2(默認(rèn)輸出等級(jí))

warn= SPDLOG_LEVEL_WARN 3

err= SPDLOG_LEVEL_ERROR 4

critical= SPDLOG_LEVEL_CRITICAL 5

off = SPDLOG_LEVEL_OFF 6

}

日志級(jí)別

控制臺(tái)日志級(jí)別

SPDLOG_DEBUG

SPDLOG_INFO

SPDLOG_WARN

SPDLOG_ERROR

SPDLOG_CRITICAL

旋轉(zhuǎn)日志級(jí)別

SPDLOG_INFO_FILE

SPDLOG_WARN_FILE

SPDLOG_ERROR_FILE

SPDLOG_CRITICAL_FILE

Spdlog 異步與同步

同步/異步指日志信息是否直接輸出/寫入文件,直接寫就是同步,稍后寫就是異步。spdlog默認(rèn)的狀態(tài)就是同步了。

異步狀態(tài)下,日志會(huì)先存入隊(duì)列,然后由線程從隊(duì)列中取數(shù)據(jù),當(dāng)隊(duì)列滿的時(shí)候會(huì)有淘汰策略。如果工作線程中拋出了異常,向隊(duì)列寫入下一條日志時(shí)異常會(huì)再次拋出,可以在寫入隊(duì)列時(shí)捕捉工作者線程的異常,淘汰策略一般兩種:

1)阻塞新來的的日志,直到隊(duì)列有剩余空間(默認(rèn)處理方式)

2)把新的日志丟掉(需要設(shè)定:spdlog::set_async_mode(隊(duì)列大小,

Spdlog 單線程與多線程

spdlog中提供了單線程和多線程模式,由使用者在對(duì)象創(chuàng)建中自己指定。??st:?jiǎn)尉€程版本,不用加鎖,效率高,但不保證線程安全??mt:多線程版本,保證多線程并發(fā)情況線程安全,但效率稍低

Spdlog 輸出格式:

Pattern說明

輸出格式的Pattern中可以有若干 %開頭的標(biāo)記,含義如下表:

標(biāo)記 說明

%v 實(shí)際需要被日志記錄的文本,如果文本中有{占位符}會(huì)被替換

%t 線程標(biāo)識(shí)符

%P 進(jìn)程標(biāo)識(shí)符

%n 日志記錄器名稱

%l 日志級(jí)別

%L 日志級(jí)別簡(jiǎn)寫

%a 簡(jiǎn)寫的周幾,例如Thu

%A 周幾,例如Thursday

%b 簡(jiǎn)寫的月份,例如Aug

%B 月份,例如August

%c 日期時(shí)間,例如Thu Aug 23 15:35:46 2014

%C 兩位年份,例如14

%Y 四位年份,例如2014

%D 或 %x MM/DD/YY格式日期,例如"08/23/14

%m 月份,1-12之間

%d 月份中的第幾天,1-31之間

%H 24小時(shí)制的小時(shí),0-23之間

%I 12小時(shí)制的小時(shí),1-12之間

%M 分鐘,0-59

%S 秒,0-59

%e 當(dāng)前秒內(nèi)的毫秒,0-999

%f 當(dāng)前秒內(nèi)的微秒,0-999999

%F 當(dāng)前秒內(nèi)的納秒, 0-999999999

%p AM或者PM

%r 12小時(shí)時(shí)間,例如02:55:02 pm

%R 等價(jià)于%H:%M,例如23:55

%T 或 %X HH:MM:SS

%z 時(shí)區(qū)UTC偏移,例如+02:00

%+ 表示默認(rèn)格式

Spdlog 刷新參數(shù):

刷新方式指日志何時(shí)寫入文件中,spdlog提供了兩種刷新方式:

1)程序正常退出時(shí)寫入(默認(rèn))

2)程序運(yùn)行中,在指定位置進(jìn)行寫入(實(shí)時(shí)刷新日志,便于鎖定錯(cuò)誤所在位置)

要想使用實(shí)時(shí)刷新日志,spdlog提供了兩種方法:

方法一:logger對(duì)象->flush_on(設(shè)定等級(jí)),flush_on是一次性刷新,執(zhí)行到此時(shí)按照設(shè)定等級(jí)進(jìn)行日志刷新。

方法二:logger對(duì)象->flush_every(周期時(shí)間),flush_every是設(shè)置刷新周期,定時(shí)進(jìn)行刷新。刷新的級(jí)別采取默認(rèn)了。

參考資料:

https://zhuanlan.zhihu.com/p/337877916

https://blog.csdn.net/xmcy001122/article/details/105864473/?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242

https://www.cnblogs.com/Braveliu/p/12375556.html

https://www.jianshu.com/p/b0322391d?a9f

https://www.freesion.com/article/397888765/

https://blog.gmem.cc/spdlog

http://www.360doc.com/content/20/0114/10/65839724_886099666.shtml

https://blog.csdn.net/gls_nuaa/article/details/126738472

https://blog.csdn.net/qq_36583051/article/details/115628620

https://cloud.tencent.com/developer/article/2102109

常見問題—

VS SDK安裝:

VS2017報(bào)錯(cuò)之“errorMSB8036: 找不到 Windows SDK 版本8.1。請(qǐng)安裝所需的版本的 Windows SDK 或...”解決方法

https://blog.csdn.net/weixin_43051346/article/details/122407923

"0xa0"轉(zhuǎn)換為十進(jìn)制為160,表示漢字的開始。這種錯(cuò)誤主要是因?yàn)榭截悓?dǎo)致,在程序頭或者尾部,可能又空格之類的符號(hào)

https://blog.csdn.net/yunken28/article/details/96331082

https://blog.csdn.net/lihaidong1991/article/details/104503187

關(guān)鍵詞: 輸出終端 輸出格式

相關(guān)閱讀
分享到:
版權(quán)和免責(zé)申明

凡注有"環(huán)球傳媒網(wǎng)"或電頭為"環(huán)球傳媒網(wǎng)"的稿件,均為環(huán)球傳媒網(wǎng)獨(dú)家版權(quán)所有,未經(jīng)許可不得轉(zhuǎn)載或鏡像;授權(quán)轉(zhuǎn)載必須注明來源為"環(huán)球傳媒網(wǎng)",并保留"環(huán)球傳媒網(wǎng)"的電頭。

Copyright ? 1999-2017 cqtimes.cn All Rights Reserved 環(huán)球傳媒網(wǎng)-重新發(fā)現(xiàn)生活版權(quán)所有 聯(lián)系郵箱:8553 591@qq.com
欧美日韩免费看| 国产精品88av| 福利视频第一区| 国产高清亚洲| 国内福利写真片视频在线| 婷婷丁香综合| 欧美一区二区播放| 国产精品高清一区二区| 亚洲成人午夜影院| 菁菁伊人国产精品| 欧美日韩黄视频| 天堂成人娱乐在线视频免费播放网站 | 欧美日韩视频网站| 国产欧美日韩在线| 日本欧美韩国| 一本久道久久综合中文字幕| 成人黄色91| 欧美日免费三级在线| 中文欧美日韩| 日本一区二区三区在线观看视频| 久久久噜噜噜久久狠狠50岁| 黄色网页在线观看| 91女厕偷拍女厕偷拍高清| 青青青手机在线视频观看| 亚州综合一区| 偷偷要色偷偷| 国产亚洲欧美色| 国产精品网站在线看| 免费黄色av电影| 国产无人区一区二区三区| 欧美电影在线观看免费| 日韩激情片免费| 99在线热播精品免费| 精品少妇一区| 亚洲裸体视频| 亚洲伊人伊色伊影伊综合网| 欧美在线网址| av在线免费网址| 91福利国产精品| 日韩制服丝袜先锋影音| xxx欧美xxx| 亚洲护士老师的毛茸茸最新章节| www.亚洲色图.com| 在线一级成人| 91视频在线观看| 欧美中文字幕一区二区三区 | 1024视频在线| 色噜噜狠狠色综合欧洲selulu| 国产精品最新自拍| 日韩制服一区| 亚洲色图欧美制服丝袜另类第一页| 久久亚洲一区二区三区明星换脸 | 拍真实国产伦偷精品| 色婷婷久久久综合中文字幕| 日本不卡一区二区| 韩国成人在线| 欧美一级本道电影免费专区| 亚洲已满18点击进入久久| 激情综合自拍| a日韩av网址| 日韩精品黄色网| 亚洲欧洲av一区二区三区久久| 欧美激情aⅴ一区二区三区| 91九色美女在线视频| 亚洲第一中文字幕| 国产精品嫩草99a| 欧美私人啪啪vps| 欧美大片1688| 日本性视频网| 精品日韩中文字幕| 国产老妇另类xxxxx| 九色精品91| 福利写真视频网站在线| 日韩黄色在线免费观看| 一区二区高清免费观看影视大全| 久久九九电影| 欧美mv日韩mv亚洲| 欧美激情1区2区3区| 99精品在免费线偷拍| 2023欧美最顶级a∨艳星| 五月婷婷激情综合| 国产精品一区二区在线观看网站| 九九综合在线| 东北一级毛片| av网站在线播放| 一区二区日韩av| 久久99热这里只有精品| 国产不卡一区| 中文在线免费视频| 在线国产1区| 欧美日韩亚州综合| 国产欧美精品在线观看| 亚欧成人精品| 国产精品四虎| 日本一区免费网站| 天天操综合网| 亚洲一区二区三区| 日韩视频免费| 一区二区国产精品| 日韩av一级片| 日本欧美大码aⅴ在线播放| 一广人看www在线观看免费视频| 欧美一区日韩一区| 亚洲欧美一区二区视频| 老色鬼精品视频在线观看播放| 国产一区二区三区电影在线观看| 亚洲天堂资源| 黄色av网址在线免费观看| 精品国产污网站| 亚洲va欧美va国产va天堂影院| 老司机免费视频一区二区| 久久国产亚洲| 亚洲精品18| 阿v视频在线观看| 水莓100在线视频| 亚洲第一福利网站| 第一福利永久视频精品| 国产欧美精品日韩区二区麻豆天美| 日韩成人免费电影| 91av精品| 日韩mv欧美mv国产网站| 日韩精品影片| a视频在线免费看| 116美女写真午夜一级久久| 精品久久五月天| 一本到一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 国内久久婷婷综合| 99精品久久| 97国产成人高清在线观看| 一区二区在线视频观看| 欧美日韩免费看片| 免费在线观看的电影网站| 嫩草研究院在线| 成人黄色影视| 亚洲精品在线一区二区| 欧美亚洲一区三区| 亚洲成人免费av| 国产精品超碰97尤物18| 国产suv精品一区二区6| 免费在线观看日韩欧美| 91精品婷婷色在线观看| 五月天亚洲一区| 亚洲不卡视频| 偷拍自拍亚洲| 欧美一区久久久| 波多野结衣在线高清| 精品国产99久久久久久| 激情综合闲人网| 麻豆电影在线| 全网国产福利在线播放| 国产视频精品一区二区三区| 日韩欧美在线不卡| 欧美日韩亚洲综合一区二区三区| 精品女同一区二区三区在线播放| 亚洲精品免费在线播放| 中文字幕五月欧美| 中文子幕无线码一区tr| 久久久精品免费观看| www成人在线观看| 99视频一区二区三区| 成人少妇影院yyyy| 粉嫩av一区二区三区粉嫩| 国产成人av电影在线播放| 国产一区二区不卡在线| 精品一区精品二区高清| 麻豆久久久久久| 免费国产亚洲视频| 蜜桃av一区二区| 美女mm1313爽爽久久久蜜臀| 美女尤物国产一区| 精品亚洲国内自在自线福利| 精品午夜久久福利影院| 国产精品99久久久久久有的能看 | 亚洲色图清纯唯美| 亚洲人成精品久久久久| 一区二区三区产品免费精品久久75| 亚洲欧美激情小说另类| 亚洲影视在线观看| 狠狠躁夜夜躁人人躁婷婷91 | 99久久精品一区| 亚洲一区在线视频| 91网站黄www| 国产欧美日韩视频在线观看| 中文字幕不卡的av| 亚洲欧洲日韩女同| 亚洲在线免费播放| 色婷婷综合久久久中文一区二区 | av电影在线观看完整版一区二区| av不卡免费在线观看| 日本一区二区成人| 亚洲一区二区av在线| 色综合久久综合| 538在线一区二区精品国产| 欧美精品一区男女天堂| 成年人视频免费看| 小明精品国产一区二区三区| 日本天堂在线观看| 男人久久天堂| 久久精品九色|