嵌入式Linux C(一)——概述

简介: 嵌入式Linux C(一)——概述

C语言知识体系


C语言概述(历史、特点、标准)

数据类型(基本数据类型、输入输出)

基本语句及表达式、运算符(条件语句、循环语句、多路分支、goto语句)

数组(一维数组、二维数组、多维数组)

指针(一维指针、多维指针、数组指针、指针数组、函数指针、函数指针数组)

内存管理(内存是稀缺资源,内存泄露)

函数(函数声明、定义、调用、库函数的使用(字符串处理函数、时间函数、随机数函数))

编码规范(华为编码规范)

预处理(宏定义、宏函数、条件编译)

关键字(static、extern、register、const、typedf、volatile、inline)

位操作(位运算)

复合数据类型(struct、union、enum)

文件操作(打开、关闭、读写、属性设置)

进度安排

day1:1,2

day2:3,4,5

day3:5,6,8

day4:6,7,8

day5:10,9

day6:11,12


学习目标:


1.代码量:1w+;

2.书籍阅读:5+;

3.笔记:教材


学习要求:


1.代码量:力扣(每天1道,30分钟)

2.书籍:C语言三剑客、C program、C语言接口与实现、高质量编程……


一、C语言概述


1.1 嵌入式开发中为什么选择C语言


嵌入式开发中操作系统是核心、需要一直,并在上层和底层做开发,而操作系统最核心的是:内核,所有的内核都是由C语言开发,


1.2 为什么内核开发选择C语言


1.C语言能直接访问和控制硬件(C(硬件复杂操作) VS 汇编(硬件初始化))

2.C语言运行效率快(运行时语言)解释性语言 VS 运行时语言(C VS java \ C VS C++)

3.移植性


1.3 C语言的缺点


面向结构(代码的复用性差、代码的维护性差、代码的扩展性差)


1.4 C语言实现面向对象编程


?????????


1.5 C语言的开发方向


操作系统(上层(库)、底层(BSP、驱动)、实现(内核))、硬件、中间件(sdk)


1.6 C语言发展


一点问题都没有


C语言基础知识


1.机器码(运行效率、访问硬件能力)

2.C语言之父:丹尼斯-里奇

3.C语言语法标准:K&RC 、c89、c99、c11

4.C语言语言版本:GNU C + ASCI C

5.gcc:100%c89 + 部分c99

6.什么语言可能以后会替代C语言?

Go 和 Rust(替代不了)


相关文章
|
16天前
|
消息中间件 存储 缓存
【嵌入式软件工程师面经】Linux系统编程(线程进程)
【嵌入式软件工程师面经】Linux系统编程(线程进程)
27 1
|
16天前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
33 1
|
1月前
|
存储 运维 关系型数据库
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
|
18天前
|
物联网 Linux 芯片
学习嵌入式是选择单片机还是Linux?
单片机通常指的是一种集成了处理器、存储器和各种外设接口的微控制器芯片,常见的有STC、51系列、AVR、ARM Cortex-M等。单片机具有低成本、低功耗、实时性强等特点,适用于对资源要求较低、功耗要求较低、实时性要求较高的嵌入式系统。学习单片机开发可以让您深入了解嵌入式系统的底层原理和硬件编程,对于对嵌入式系统底层开发感兴趣的人来说,是一个很好的选择。
17 4
|
16天前
|
消息中间件 安全 Java
【嵌入式软件工程师面经】Linux多进程与多线程
【嵌入式软件工程师面经】Linux多进程与多线程
16 1
|
16天前
|
存储 缓存 Unix
【嵌入式软件工程师面经】Linux文件IO
【嵌入式软件工程师面经】Linux文件IO
20 1
|
1月前
|
Ubuntu 算法 Linux
嵌入式Linux的学习误区
该文指出了学习嵌入式Linux开发的两个常见误区。一是过分专注于学习桌面或服务器版Linux,而非关注嵌入式开发本身,实际上只需熟悉基本操作即可。二是试图在没有基础的情况下直接阅读Linux内核源代码,这是不切实际的,应先建立基础知识再进行源码学习。文章还提到了在嵌入式系统中获取和处理屏幕数据的示例,包括使用gsnap工具将framebuffer数据转为图像,以及涉及的交叉编译过程。
19 0
|
1月前
|
Linux 编译器 测试技术
嵌入式 Linux 下的 LVGL 移植
嵌入式 Linux 下的 LVGL 移植
|
1天前
|
缓存 监控 安全
Linux top命令详解:持续监听进程运行状态
Linux top命令详解:持续监听进程运行状态
12 3
|
1天前
|
Ubuntu Linux
【Linux基础】常用 apt 命令
在 Linux 系统中,特别是基于 Debian 的发行版(如 Ubuntu),apt(Advanced Package Tool)是一个用于处理软件包的强大工具。apt 提供了对软件包的搜索、安装、升级、删除等操作的命令行界面,使得用户能够方便地管理系统中的软件包。
21 13