C 语言是嵌入式 Linux 领域的主要开发语言。
对于学习嵌入式、单片机、Linux 驱动开发等技术来说,C 语言是必须要过的一关。C 语言学习的特点是入门容易、深入理解难、精通更是难上加难。很多用 C 语言写了多年单片机程序的老工程师转入嵌入式 Linux 领域后,都会觉得很难,甚至惊叹“为什么同样是 C 语言代码,我完全看不懂?”更不用说初学者了,大多数人都会有一种“很难精进、很难掌握”的感觉。本书就是为了解决这个问题。
朱有鹏老师在由嵌入式软件开发人员转为职业培训讲师后,试图找到一种方式能够将研发实践中的技能和技巧传授给学生,而不仅仅是冰冷晦涩的语法和知识点。没错,我们认为 C 语言既是一门技艺,也是一种能力,就好像开车、踢足球、厨艺等一样,不只是要“知道怎么回事儿”,还要“玩儿得好”才行。
《C语言内核深度解析》的原型思想和内容,发源于朱有鹏老师早些年的研发和学习经历,发展于后来数年的线下培训授课经历,并最终成熟于视频课程《4.C 语言高级专题》(隶属于《朱有鹏老师嵌入式Linux 核心课程》系列视频课程的第 4 部分)。该套视频课程于 2015 年 10 月录制完成,并在不到的一年时间内,已被上千人观看学习,创下了全好评的好成绩。
本书正是基于这套视频课程的课件整理而来,参与各章节整理和编写的都是学习了朱有鹏老师视频课程的学生,最终由朱有鹏老师和张先凤老师检验并完善成书。这些参与编写的同学有的已经工作数年、有的则尚未走出大学校园。选择他们合作创作本书,就是为了告诉读者:做技术并不要求你天赋异禀,只需要你感兴趣、愿意去探索和练习,你也可以成功。
《C语言内核深度解析》的另一大特色是,专门针对嵌入式 Linux 开发方向而设计。这并不是一句空话,本书的很多内容,如位操作、container_of 宏、内核链表、变参等,都是嵌入式 Linux 开发中重要的技能,而在一般的 C 语言书中并无过多介绍。
最后,本书并不是一本零基础系统学习 C 语言的书,而是一本定位为技能提升型的专著。如果你已经学过或者正在使用 C 语言,但苦于无法精进,或者在学习嵌入式 Linux 软件开发中遇到困难,那么试试这本书吧,一定会为你带来收获。