学习嵌入式的基础语言是C语言,因此先掌握C语言对于后续嵌入式的学习有着非常大的意义。下面讲解下嵌入式C语言程序设计基础,尤其是C语言的一些语言特点。

  C语言是一种结构化的程序设计语言,它的优点是运行速度快、编译效率高、移植性好和可读性强。C语言具有简单的语法结构和强大的处理功能,并可方便地实现对系统硬件的直接操作。C语言支持模块化程序设计结构,支持自顶向下的结构化程序设计方法。因此,嵌入式C语言培训认为,用C语言编写的应用软件,可大大提高软件的可读性,缩短开发周期,便于系统的改进和扩充,这为开发大规模、高性能和高可靠性的应用系统提供了基本保证。

  嵌入式C语言程序设计时利用基本的C语言知识,面向嵌入式工程实际应用进行程序设计语言。嵌入式C语言程序设计首先是C语言程序设计,必须符合C语言基本语法。嵌入式C语言程序设计,必须符合C语言基本语法。嵌入式C语言程序设计又是面向嵌入式的应用,因此就要利用C语言基本知识开发出面向嵌入式的应用程序。如何能够在嵌入式系统开发中熟练、正确地运用C语言开发出高质量的应用程序,是学习嵌入式程序设计的关键。

  C语言的“预处理伪指令”在嵌入式程序设计中的应用

  在C语言源程序中常常加入一些“预处理指令”,可以改进程序设计的环境,提高编程效率。它虽然写在源程序中,但不产生程序代码,因此也称为预处理指令。它不是C语言本身的组成部分,因此不能直接进行编译,而必须在编译前预先对这些特殊的指令进行“预处理”。在预处理时用“预处理命令”定义的实际内容代替该命令,因此也称为“编译预处理器”或“编译预处理伪指令”。

  C语言所有预处理伪指令都以#号开头,以区别于源文件中的语句行与说明行。与处理伪指令有以下3种:文件包含、宏定义和条件编译。

  预处理指令有以下特点:

  把文件包含的正文替换进来,如标准头文件和自定义头文件,其内容包括符号常量、符合变量原型、用户定义的变量类型原型和函数的原型说明等。

  对宏定义进行宏扩展,减少了编程量,改进源程序的可读性,参数宏更减少了函数调用的开销。

  条件编译改善了编程的灵活性,也改善了可移植性。

  所有预处理器伪指令都以#号开头,以区别于源文件中的语句行和说明行。

  下面C语言嵌入式培训分别对预处理伪指令进行详细介绍。

  1.文件包含伪指令

  文件包含伪指令可将头文件包含到程序中,头文件中定义的内容包括符号常量、符合变量原型、用户定义的变量类型原型和函数的原型说明等。编译器编译预处理时用文件包含的正文内容替换到实际程序中。

  1)文件包含伪指令的格式

  #include<头文件名.h> ;标准头文件

  #include“头文件名.h”;自定义头文件

  #include 宏标识符

  2)包含文件伪指令的说明

  习惯上头文件名后用.h作为扩展名,可带或不带路径。

  头文件可分为标准头文件与自定义文件。

  尖括号对内的头文件为标准头文件。标准头文件按DOS系统的环境变量include所指定的目录顺序搜索头文件。

  双引号岁“”内的头文件名为用户自定义头文件。搜索时,首先在当前目录中搜索,其次按环境变量include指定的目录顺序搜索。

  搜索到头文件后,就将该伪指令直接用头文件内容替换。

  第3种格式中的宏标识符预处理器首先对它进行宏扩展。宏扩展后得到的可能是括号内的头文件名或双引号对内的投文件名。其后,就可按前2中格式之一来处理。

  3)包含文件伪指令举例

  示例       标准头文件定义

  #include        

  #include        

  string.h和stdio.h是标准头文件,按环境变量include指定的目录顺序搜索string.h和stdio.h。