函數(shù)宏,即包含多條語(yǔ)句的宏定義,其通常為某一被頻繁調(diào)用的功能的語(yǔ)句封裝,且不想通過(guò)函數(shù)方式封裝來(lái)降低額外的彈棧壓棧開(kāi)銷。
嵌入式行業(yè)摸爬滾打這幾年,遇見(jiàn)有規(guī)范單元測(cè)試的項(xiàng)目寥寥無(wú)幾。歸根到底,無(wú)非是公司希望快速迭代出產(chǎn)品,有問(wèn)題等客戶反饋再說(shuō)。當(dāng)然,也有人認(rèn)為是嵌入式行業(yè)都是小而美的產(chǎn)品居多,沒(méi)有到一定量級(jí)之前,玩不起單元測(cè)試這種配置。不過(guò),出于對(duì)代碼穩(wěn)定性的追求,我認(rèn)為還是應(yīng)該著手了解一下單元測(cè)試的。畢竟,這是有效提高代碼說(shuō)服力的方式之一。
交換a、b的值在C語(yǔ)言的學(xué)習(xí)中是很常見(jiàn)的問(wèn)題,最常用的方法就是引入一個(gè)中間變量當(dāng)做中間介質(zhì)來(lái)交換a、b的值。
小編對(duì)Linux這一塊的實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)雖然還不是很足,但也知道進(jìn)程間通信有那么幾種方式:管道、消息隊(duì)列、共享內(nèi)存、套接字等。某項(xiàng)目中使用了MQTT作為進(jìn)程間的通信方式,感覺(jué)很新穎,網(wǎng)上好像也比較少有看到使用MQTT來(lái)作為進(jìn)程間通信的方式的。這兩篇筆記我們就來(lái)一起學(xué)習(xí)一下這種方式。
前段時(shí)間看到群里在討論Wireshark抓包工具,想寫(xiě)一篇使用筆記但一直沒(méi)來(lái)得及寫(xiě),本篇就通過(guò)實(shí)例來(lái)分享wireshark抓包工具的使用。
只有5千行代碼的GuiLite是嵌入式、單片機(jī)中常用的GUI框架;它就是C++編寫(xiě),在GitHub有4.8K star,在Gitee有2K star。可能你覺(jué)得5千行能做什么?
本文以32位系統(tǒng)為例,詳細(xì)介紹了內(nèi)核空間(kernel space)和用戶空間(user space)。
GDB(GNU Debugger)是一個(gè)強(qiáng)大的命令行調(diào)試工具。一般的,在Windows下進(jìn)行開(kāi)發(fā),很少操控命令行調(diào)試,調(diào)試器大多與編譯器都集成在IDE里了。當(dāng)然,在Windows下也可以直接使用gcc、gdb來(lái)做編譯調(diào)試我們的C程序。
用Notepad++創(chuàng)建一個(gè)文本文件text.txt,其默認(rèn)編碼格式為ANSI(乍看之下,還以為是ASCII呢),輸入漢字居然不是亂碼。
Sugar這兩天玩了玩JetBot,就是用Nvidia Jetson Nano做的智能小車。其中小車馬達(dá)的驅(qū)動(dòng)模塊用的是I2C的馬達(dá)驅(qū)動(dòng)板。本篇Sugar就從硬件角度說(shuō)一說(shuō)I2C總線。
前篇 《由static來(lái)談?wù)勀K封裝》 基本實(shí)現(xiàn)了對(duì)外隱藏屬性,隱藏局部模塊函數(shù),開(kāi)放接口的功能。對(duì)于這個(gè)話題還有些點(diǎn)沒(méi)有深入探討:為什么要這樣做?以及這樣做的好處是什么?
gyh974
不知道起啥
289117336
Tronlong創(chuàng)龍
譚玉斌
zjhq
SIASGUOJIe
球球菌
大有可為
cy1u
Sampson01hlz
wanwanliyin
yang2014
huyangliu
云城a
Jessie0812
shaolw
xiaoguaixh
flayfly
YangcSIX
liwen111
baoyoubing
liqinglong1023
eda516