全球旧事资料 分类
编译预处理命令
文件包含:把指定的文件插入到预处理命令行所在的位置并取代该命令行,即把指定的文件和当前的源程序文件连接成一个源文件。i
clude文件名在文件包含目录中去查找指定的文件,并将该文件添加到源文件中。一个被包含的文件中可以含有文件包含命令来包含另一个文件。i
clude“文件名”命令中文件名的位置是当前源文件的位置,若在当前目录中未找到该文件,则再到“包含目录”中去查找。

用一个标识符表示一个字符串,称为宏,被定义为宏的标识符称为宏名。在编译预处理时对程序中所有出现的宏名用宏定义中的字符串去代换,这就是宏替换。它是由系统编译程序时自动完成的。
无参宏定义
defi
e标识符字符串如defi
ePI314使用宏时要注意:(1)宏定义是用宏名来表示一个字符串,在宏展开时用字符串取代宏名。(2)宏定义不是变量定义或语句,在行末不能加分号,如果加上分号则分号也成为字符串的一部分。(3)宏定义可以出现在程序的任何地方,其作用域是宏定义命令所在位置开始到源程序结束。如果要终止其作用域可使用u
def命令。(4)宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名。在宏展开时将逐层替换。(5)defi
ePI31415926defi
eAREAPIyy
有参宏定义
defi
e宏名(形参表)字符串对带参数的宏,在调用中不仅要进行宏展开,而且还要用实参去替换形参。带参宏调用的语法格式如下:宏名(实参表);
fdefi
eMxx1KM3K31定义有参宏时要注意以下几点:(1)有参宏定义中,宏名和形参表之间不能有空格出现。(2)在函数中,调用时要把实参的值赋给形参,进行“值传递”。而在带参宏调用中,只是符号替换,不存在值传递问题。(3)宏定义中的形参只能是标识符,而宏调用中的实参可以是表达式。宏替换中对实参表达式不做计算直接照原样替换,字符串内的形参通常用括号括起来以避免出错。在使用宏时不仅要将形式参数用括号括起来,还应将其整体用括号括起来。defi
eSyyy
条件编译
条件编译可以按不同的条件去编译不同的程序段。1ifdefifdef标识符程序段1else程序段2e
dif功能:如果标识符已被defi
e定义过,则对程序段1进行编译,否则对程序段2进行编译。格式中的else部分可以没有,即:ifdef标识符程序段e
dif2、if
def语法格式如下:if
def标识符程序段1else程序段2e
dif功能与ifdef形式的功能正好相反。3、if常量表达式if常量表达式程序段1else程序段2e
dif功能:如果常量表达式的r
好听全球资料 返回顶部