嵌入式软件应用层复习关键点解析

需积分: 0 2 下载量 72 浏览量 更新于2024-06-27 2 收藏 933KB DOCX 举报
"嵌入式软件应用层复习大纲旨在帮助初入社会找工作的新手准备面试,涵盖嵌入式系统应用层的各种知识点。" 在嵌入式软件开发中,应用层是用户与系统交互的部分,这部分的复习至关重要。以下是一些核心概念的详细解释: 1. **C基础**: - 数值1与字符'1'的区别在于存储形式:数值1是二进制表示的整数,而字符'1'是以其ASCII码值49(十进制)的二进制形式存储。 - 单引号'H'代表字符常量,双引号"H"则表示字符串常量,包含字符'H'和结束符'\0'。 2. **关键字**: - `static`修饰的变量在整个程序生命周期内有效,只初始化一次,适用于全局或局部变量。 - `auto`通常用于局部变量,其生命周期仅限于定义它的函数,作用域局限于该函数。 3. **运算符与函数**: - `sizeof`是运算符,用来计算数据类型的大小(以字节为单位)。 - `strlen`是库函数,计算字符串中实际字符的数量,不包括结束符'\0'。 4. **指针与数组**: - 指针数组是一个数组,每个元素都是一个指针。 - 数组指针是一个指针,它指向一个数组(通常是二维数组)。 5. **函数与指针**: - 指针函数是返回值为指针的函数,如`strcpy`。 - 函数指针是一个指向函数的指针,可以作为参数传递或存储在其他变量中。 6. **结构体与指针**: - 结构体指针指向结构体类型的数据,允许我们间接访问结构体成员。 7. **类型定义与常量**: - `typedef`用于给现有类型创建别名,便于类型说明。 - `const`常量修饰符可以使变量不可变,可以用于指针或指针所指内容。 8. **void*指针**: - `void*`是通用指针,可以指向任何类型,但在使用时必须进行类型转换。 - 打印地址时,可以使用`%u`,但需先进行类型转换。 9. **回调函数**: - 回调函数是一种将函数作为参数传递给另一个函数,然后在需要时由后者调用的机制。 10. **gcc编译流程**: - 预处理:处理宏定义、条件编译等,扩展源文件。 - 编译:检查语法并生成汇编代码。 - 汇编:将汇编代码转化为机器可执行的目标文件。 - 链接:将目标文件与库文件合并,生成最终的可执行文件。 了解这些基本概念对于理解和编写嵌入式应用层的代码至关重要,同时也有助于在面试中展示扎实的基础知识。深入学习和实践这些内容,将有助于成为合格的嵌入式软件开发者。