在使用C語言開發(fā)嵌入式產(chǎn)品的過程中,當(dāng)使用到malloc函數(shù)時(shí)候都會(huì)有一個(gè)爭(zhēng)議,“使用動(dòng)態(tài)內(nèi)存分配安全嗎?”,就連美國(guó)軍方在safety-critical的嵌入式航空電子設(shè)備代碼中,也禁止動(dòng)態(tài)內(nèi)存分配,我們來細(xì)細(xì)分析下。
分享一個(gè)小技巧,使用MDK編譯器,讓STM32程序HEX文件中加入固件版本信息,估計(jì)很多老手都已經(jīng)在使用(你有好的方法歡迎分享,希望我的磚能引來你的玉),該方法獻(xiàn)給新手或初學(xué)者。
雖然Linux被成功使用,但并不意味著它很容易使用。Linux包含的代碼超過一百萬行,其運(yùn)作帶有鮮明的Linux方法論味道,初學(xué)者可能難以迅速掌握。
為什么 github 下載速度這么慢?如何提高 github 的下載速度?
本文整理了一些TCP/IP協(xié)議簇中需要必知必會(huì)的十大問題,既是面試高頻問題,又是程序員必備基礎(chǔ)素養(yǎng)。
C語言里,每個(gè)源文件是一個(gè)模塊,頭文件為使用該模塊的用戶提供接口。接口指一個(gè)功能模塊暴露給其他模塊用以訪問具體功能的方法。使用源文件實(shí)現(xiàn)模塊的功能,使用頭文件暴露單元的接口。用戶只需包含相應(yīng)的頭文件就可使用該頭文件中暴露的接口。
宏的使用,大家經(jīng)常會(huì)用,但是一般只是簡(jiǎn)單定義一個(gè)符號(hào)常量,類似于 #define WHEEL_SCALE_MM?0.53f、 #define LOG_I(tag, text_fmt, ...) log_i(tag, text_fmt, ##__VA_ARGS__)? ,但是除此之外還有宏還有個(gè)##粘貼作用,可以配合#define這個(gè)常量表達(dá)式,可以做成一個(gè)宏定義指針函數(shù)列表,繼而查詢執(zhí)行函數(shù)。話不多說,我們開始今天的分享,首先還是會(huì)進(jìn)行一下常規(guī)的描述,再分享"##"粘貼的妙用。
在Linux下的開發(fā)中,printf打印調(diào)試信息默認(rèn)輸出到標(biāo)準(zhǔn)輸出 stdout (即屏幕/終端)中。我們也可以使用輸出重定向技術(shù)輸出到指定文件中,輸出重定向即是把原本要輸出到屏幕的信息寫入到指定文件中。
我們大多都使用printf來打印一些信息,其它的接口都比較少用。這里介紹一個(gè)被我們遺忘的打印輸出函數(shù):perror函數(shù)。
本文通過對(duì)Linux下串口驅(qū)動(dòng)的分析。由最上層的C庫,到操作系統(tǒng)系統(tǒng)調(diào)用層的封裝,再到tty子系統(tǒng)的核心,再到一系列線路規(guī)程,再到最底層的硬件操作。
本篇通過C語言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的進(jìn)程5狀態(tài)模型的狀態(tài)機(jī),讓大家熟悉一下狀態(tài)機(jī)的魅力。
gyh974
不知道起啥
289117336
Tronlong創(chuàng)龍
譚玉斌
zjhq
SIASGUOJIe
球球菌
大有可為
cy1u
Sampson01hlz
wanwanliyin
yang2014
huyangliu
云城a
Jessie0812
shaolw
xiaoguaixh
flayfly
YangcSIX
liwen111
baoyoubing
liqinglong1023
eda516