嵌入式 Linux 與物聯(lián)網(wǎng)軟件開發(fā) ——C 語言內(nèi)核深度解析
C 語言是嵌入式 Linux 領(lǐng)域的主要開發(fā)語言。
對于學(xué)習(xí)嵌入式、單片機(jī)、Linux 驅(qū)動(dòng)開發(fā)等技術(shù)來說,C 語言是必須要過的一關(guān)。C 語言學(xué)習(xí)的特點(diǎn)是入門容易、深入理解難、精通更是難上加難。很多用 C 語言寫了多年單片機(jī)程序的老工程師轉(zhuǎn)入嵌入式 Linux 領(lǐng)域后,都會(huì)覺得很難,甚至驚嘆“為什么同樣是 C 語言代碼,我完全看不懂?”更不用說初學(xué)者了,大多數(shù)人都會(huì)有一種“很難精進(jìn)、很難掌握”的感覺。本書就是為了解決這個(gè)問題。
朱有鵬老師在由嵌入式軟件開發(fā)人員轉(zhuǎn)為職業(yè)培訓(xùn)講師后,試圖找到一種方式能夠?qū)⒀邪l(fā)實(shí)踐中的技能和技巧傳授給學(xué)生,而不僅僅是冰冷晦澀的語法和知識點(diǎn)。沒錯(cuò),我們認(rèn)為 C 語言既是一門技藝,也是一種能力,就好像開車、踢足球、廚藝等一樣,不只是要“知道怎么回事兒”,還要“玩兒得好”才行。
《C語言內(nèi)核深度解析》的原型思想和內(nèi)容,發(fā)源于朱有鵬老師早些年的研發(fā)和學(xué)習(xí)經(jīng)歷,發(fā)展于后來數(shù)年的線下培訓(xùn)授課經(jīng)歷,并最終成熟于視頻課程《4.C 語言高級專題》(隸屬于《朱有鵬老師嵌入式Linux 核心課程》系列視頻課程的第 4 部分)。該套視頻課程于 2015 年 10 月錄制完成,并在不到的一年時(shí)間內(nèi),已被上千人觀看學(xué)習(xí),創(chuàng)下了全好評的好成績。
本書正是基于這套視頻課程的課件整理而來,參與各章節(jié)整理和編寫的都是學(xué)習(xí)了朱有鵬老師視頻課程的學(xué)生,最終由朱有鵬老師和張先鳳老師檢驗(yàn)并完善成書。這些參與編寫的同學(xué)有的已經(jīng)工作數(shù)年、有的則尚未走出大學(xué)校園。選擇他們合作創(chuàng)作本書,就是為了告訴讀者:做技術(shù)并不要求你天賦異稟,只需要你感興趣、愿意去探索和練習(xí),你也可以成功。
《C語言內(nèi)核深度解析》的另一大特色是,專門針對嵌入式 Linux 開發(fā)方向而設(shè)計(jì)。這并不是一句空話,本書的很多內(nèi)容,如位操作、container_of 宏、內(nèi)核鏈表、變參等,都是嵌入式 Linux 開發(fā)中重要的技能,而在一般的 C 語言書中并無過多介紹。
最后,本書并不是一本零基礎(chǔ)系統(tǒng)學(xué)習(xí) C 語言的書,而是一本定位為技能提升型的專著。如果你已經(jīng)學(xué)過或者正在使用 C 語言,但苦于無法精進(jìn),或者在學(xué)習(xí)嵌入式 Linux 軟件開發(fā)中遇到困難,那么試試這本書吧,一定會(huì)為你帶來收獲。