《嵌入式Linux与物联网软件开发——C语言内核深度解析》一导读

简介: 嵌入式Linux与物联网软件开发——C语言内核深度解析 C语言是嵌入式Linux领域的主要开发语言。对于学习嵌入式、单片机、Linux驱动开发等技术来说,C语言是必须要过的一关。C语言学习的特点是入门容易、深入理解难、精通更是难上加难。


e3693eb6e550b6c09422de82d902e0068601d1b8

前言

嵌入式Linux与物联网软件开发——C语言内核深度解析
C语言是嵌入式Linux领域的主要开发语言。对于学习嵌入式、单片机、Linux驱动开发等技术来说,C语言是必须要过的一关。C语言学习的特点是入门容易、深入理解难、精通更是难上加难。很多用C语言写了多年单片机程序的老工程师转入嵌入式Linux领域后,都会觉得很难,甚至惊叹“为什么同样是C语言代码,我完全看不懂?”更不用说初学者了,大多数人都会有一种“很难精进、很难掌握”的感觉。

本书就是为了解决这个问题。朱有鹏老师在由嵌入式软件开发人员转为职业培训讲师后,试图找到一种方式能够将研发实践中的技能和技巧传授给学生,而不仅仅是冰冷晦涩的语法和知识点。没错,我们认为C语言既是一门技艺,也是一种能力,就好像开车、踢足球、厨艺等一样,不只是要“知道怎么回事儿”,还要“玩儿得好”才行。

本书的原型思想和内容,发源于朱有鹏老师早些年的研发和学习经历,发展于后来数年的线下培训授课经历,并最终成熟于视频课程《4.C语言高级专题》(隶属于《朱有鹏老师嵌入式Linux核心课程》系列视频课程的第4部分)。该套视频课程于2015年10月录制完成,并在不到的一年时间内,已被上千人观看学习,创下了全好评的好成绩。

本书正是基于这套视频课程的课件整理而来,参与各章节整理和编写的都是学习了视频课程的学生,最终由朱有鹏老师和张先凤老师检验并完善成书。这些参与编写的同学有的已经工作数年、有的则尚未走出大学校园。选择他们合作创作本书,就是为了告诉读者:做技术并不要求你天赋异禀,只需要你感兴趣、愿意去探索和练习,你也可以成功。

本书的另一大特色是,专门针对嵌入式Linux开发方向而设计。这并不是一句空话,本书的很多内容,如位操作、container_of宏、内核链表、变参等,都是嵌入式Linux开发中重要的技能,而在一般的C语言书中并无过多介绍。

最后,本书并不是一本零基础系统学习C语言的书,而是一本定位为技能提升型的专著。如果你已经学过或者正在使用C语言,但苦于无法精进,或者在学习嵌入式Linux软件开发中遇到困难,那么试试这本书吧,一定会为你带来收获。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

目 录

第1章 C语言与内存
1.1 引言
1.2 计算机程序运行的目的
1.3 位、字节、半字、字的概念和内存位宽
1.4 内存编址和寻址、内存对齐
1.5 C语言如何操作内存
1.6 内存管理之结构体
1.7 内存管理之栈(stack)
1.8 内存管理之堆
第2章 C语言位操作
2.1 引言
2.2 常用位操作符
2.3 位操作与寄存器
2.4 位运算构建特定二进制数
2.5 位运算实战演练1
2.6 位运算实战演练2
2.7 技术升级:用宏定义来完成位运算
第3章 指针才是C语言的精髓
第4章 C语言复杂表达式与指针高级应用
第5章 数组&字符串&结构体&共用体&枚举
第6章 C语言的预处理、函数和函数库
第7章 存储类&作用域&生命周期&链接属性
第8章 C语言关键细节讨论
第9章 链表&状态机&多线程
第10章 程序员和编译器的暧昧
附录 答案

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
21天前
|
缓存 运维 网络协议
Linux内核参数调优以应对SYN攻击
Linux内核参数调优以应对SYN攻击
27 3
|
25天前
|
传感器 存储 监控
【物联网】液滴即信息:雨滴探测传感器实验解析降雨的密码
【物联网】液滴即信息:雨滴探测传感器实验解析降雨的密码
36 0
|
1月前
|
存储 缓存 安全
【计算机系统基石与Linux进程管理深度解析】(一)
【计算机系统基石与Linux进程管理深度解析】
|
20天前
|
Ubuntu Linux 虚拟化
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
28 0
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
|
1月前
|
监控 Java Linux
软件开发必备知识:Linux常用命令
软件开发必备知识:Linux常用命令
|
8天前
|
运维 Linux Shell
文件管理大师:深入解析Linux的文件与目录操控
文件管理大师:深入解析Linux的文件与目录操控
18 1
|
20天前
|
Linux 芯片 开发者
Linux 驱动开发基础知识——内核对设备树的处理与使用(十)
Linux 驱动开发基础知识——内核对设备树的处理与使用(十)
62 0
Linux 驱动开发基础知识——内核对设备树的处理与使用(十)
|
20天前
|
安全 Unix Shell
【Linux】Linux系统编程——Linux命令解析器
【Linux】Linux系统编程——Linux命令解析器
21 1
|
21天前
|
安全 网络协议 Linux
Linux网络常用命令解析
Linux网络常用命令解析
8 0
|
21天前
|
Linux
百度搜索:蓝易云【深入解析Linux进程内存:VSS、RSS、PSS、USS及查看方式】
通过以上方法,你可以深入了解Linux进程的内存使用情况,包括VSS、RSS、PSS、USS等指标,帮助你进行性能优化和资源管理。
30 12

相关产品

  • 物联网平台