嵌入式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(替代不了)
posted @ 2022-01-11 21:18  周末不下雨  阅读(56)  评论(0编辑  收藏  举报