跨進(jìn)程同步難題?一個(gè)通用進(jìn)程互斥鎖的封裝與實(shí)現(xiàn) [TOC] 腳步不停,終達(dá)卓越!更多底層開(kāi)發(fā)技巧,歡迎關(guān)注公眾號(hào)《開(kāi)源519》 引言 ? 在多進(jìn)程開(kāi)發(fā)中,共享資源(如配置文件...
跨進(jìn)程同步難題?一個(gè)通用進(jìn)程互斥鎖的封裝與實(shí)現(xiàn) [TOC] 腳步不停,終達(dá)卓越!更多底層開(kāi)發(fā)技巧,歡迎關(guān)注公眾號(hào)《開(kāi)源519》 引言 ? 在多進(jìn)程開(kāi)發(fā)中,共享資源(如配置文件...
C++線程回收誤用,導(dǎo)致批量設(shè)備隨機(jī)掉線! [TOC] 腳步不停,終達(dá)卓越!更多優(yōu)質(zhì)文章及代碼資源詳見(jiàn)公眾號(hào) 《開(kāi)源519》 引言 ? 前段時(shí)間,項(xiàng)目上出現(xiàn)一個(gè)嚴(yán)重的設(shè)備掉線...
不到100行代碼,封裝一個(gè)通用毫秒級(jí)計(jì)時(shí)器(基于RAII思想) [TOC] 腳步不停,終達(dá)卓越!更多優(yōu)質(zhì)文章及代碼資源詳見(jiàn)公眾號(hào) 《開(kāi)源519》 引言 ? 在C/C++開(kāi)發(fā)中...
掌握高效版本管理:從混亂到有序的蛻變之路 [TOC] 引言 ? 最近在項(xiàng)目中發(fā)現(xiàn),軟件版本管理較為混亂,框架的修改常常牽一發(fā)而動(dòng)全身,嚴(yán)重影響研發(fā)效率。為此,結(jié)合過(guò)往經(jīng)驗(yàn)及業(yè)...
程序又崩了?一招精準(zhǔn)定位段錯(cuò)誤! [TOC] 引言 ? 在C/C++程序開(kāi)發(fā)過(guò)程中,是不是經(jīng)常會(huì)遇到這種場(chǎng)景:時(shí)間緊迫匆忙上線,程序突然崩潰。開(kāi)發(fā)同事拿到日志,一看無(wú)法定位。...
引言 ? 單例模式是日常開(kāi)發(fā)中較常用的一種設(shè)計(jì)模式,它能夠確保一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)全局訪問(wèn)入口。 ? 在之前的開(kāi)發(fā)過(guò)程中,觀察到進(jìn)程退出時(shí)偶現(xiàn) crash 現(xiàn)象。由...
C/C++右移高位補(bǔ)0還是1? [TOC] 場(chǎng)景列舉 問(wèn)題 ? 先拋出代碼,如下輸出的結(jié)果應(yīng)該是什么? 輸出 ? 執(zhí)行輸出,正確結(jié)果如下,是否符合你的預(yù)期呢? 分析 ?...
2個(gè)類輕松構(gòu)建高效Socket通信庫(kù) 引言 ? 在接觸Linux網(wǎng)絡(luò)編程前,一直覺(jué)得網(wǎng)絡(luò)編程充滿了神秘與挑戰(zhàn),遙不可及。這種觀念一度讓我對(duì)網(wǎng)絡(luò)編程望而卻步。當(dāng)項(xiàng)目需求迫使我直...
4步實(shí)現(xiàn)狀態(tài)機(jī)驅(qū)動(dòng)的MQTT客戶端,快速接入OneNet (1) [TOC] 引言 ? 開(kāi)源項(xiàng)目 Sparrow 的基礎(chǔ)框架搭建已接近完成,中間件的基礎(chǔ)功能大多已經(jīng)具備。為了...
7個(gè)設(shè)置/獲取接口了解Linux時(shí)間管理 [TOC] 引言 ? 最近的項(xiàng)目開(kāi)發(fā)中,頻繁遇到了時(shí)間戳相關(guān)的問(wèn)題,如時(shí)間回退至1970年、時(shí)區(qū)錯(cuò)誤及時(shí)間同步不準(zhǔn)確等。鑒于此前僅對(duì)...
4步實(shí)現(xiàn)C++插件化編程,輕松實(shí)現(xiàn)功能定制與擴(kuò)展(2) [TOC] 引言 ? 此文是對(duì)先前文章《4步實(shí)現(xiàn)C++插件化編程,輕松實(shí)現(xiàn)功能定制與擴(kuò)展》[https://mp.we...
【實(shí)戰(zhàn)指南】從零構(gòu)建嵌入式遠(yuǎn)程Shell,提升跨地域協(xié)作效率(2) [TOC] 引言 ? 之前曾發(fā)布過(guò)一篇關(guān)于構(gòu)建嵌入式遠(yuǎn)程Shell的文章,詳細(xì)介紹了基礎(chǔ)版本的實(shí)現(xiàn)方法,詳...
4步實(shí)現(xiàn)C++插件化編程,輕松實(shí)現(xiàn)功能定制與擴(kuò)展 [TOC] 引言 ? 在項(xiàng)目開(kāi)發(fā)中,我們經(jīng)常面臨為適應(yīng)不同市場(chǎng)或產(chǎn)品層級(jí)而需調(diào)整功能的需求。從軟件工程的角度來(lái)看,這意味著使...
【實(shí)戰(zhàn)技巧】使用inotify實(shí)現(xiàn)實(shí)時(shí)文件監(jiān)控 開(kāi)篇 ? 之前閱讀《Linux系統(tǒng)編程》時(shí),留意到了一個(gè)Linux原生接口inotify。它能夠監(jiān)控文件的移動(dòng)、讀取、寫入和刪...
C++ STL容器操作:6種常用場(chǎng)景算法 [TOC] 引言 ? 在日常軟件開(kāi)發(fā)工作中,容器操作如查找、排序、和元素替換等任務(wù)極為常見(jiàn)。幸運(yùn)的是,C++的標(biāo)準(zhǔn)化利器——STL(...
[TOC] 引言 ? 在應(yīng)對(duì)高并發(fā)連接的傳統(tǒng)策略中,普遍采取為每個(gè)連接配置單獨(dú)線程或進(jìn)程的直接方式,管理其I/O操作。此法雖直觀易行,但隨業(yè)務(wù)規(guī)模擴(kuò)張,線程資源需求急劇上升。...
[TOC] 引言 ? 在先前發(fā)布的文章中,我們構(gòu)建了RPC底層數(shù)據(jù)傳輸?shù)幕A(chǔ)設(shè)計(jì)并實(shí)現(xiàn)了其功能(詳盡代碼與深入分析可參閱《實(shí)戰(zhàn)高效RPC方案在嵌入式環(huán)境中的應(yīng)用與揭秘》[ht...
【實(shí)戰(zhàn)指南】輕松自研嵌入式日志框架,6大功能亮點(diǎn)一文讀懂 [TOC] 引言 ? 日志系統(tǒng)雖非項(xiàng)目直接功能,卻是開(kāi)發(fā)者背后的強(qiáng)大輔助。優(yōu)秀的日志設(shè)計(jì)如同給程序安裝了北斗定位,讓...
實(shí)戰(zhàn)高效RPC方案在嵌入式環(huán)境中的應(yīng)用與揭秘 開(kāi)篇 ? 在嵌入式系統(tǒng)開(kāi)發(fā)中,大型項(xiàng)目往往采用微服務(wù)架構(gòu)來(lái)構(gòu)建,其核心思想是將一個(gè)龐大的單體應(yīng)用分割成一系列小型、獨(dú)立、松耦合的...
深入了解23種設(shè)計(jì)模式:程序員必讀指南 引言 ? 隨著編碼時(shí)間拉長(zhǎng),遇到的問(wèn)題增加,發(fā)現(xiàn)設(shè)計(jì)模式對(duì)于解決某類場(chǎng)景問(wèn)題確實(shí)幫助很大。其實(shí)在不了解設(shè)計(jì)模式,其設(shè)計(jì)思想也已經(jīng)在日常...