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