8.5 其他编译指令

除了以上几种常用的预处理指令外,在C51语言中还提供了一些其他预处理指令,主要用于进行编译和调试程序等操作。下面分别介绍这几个编译指令。

8.5.1 #line命令

line命令用于修改LINEFILE的内容。其中,“LINE”和“FILE”是在编译程序中预先定义的标识符,分别表示行号和源文件。#line命令主要用于调试及其他一些特殊的应用。使用#line命令的一般形式如下。


line数字[“文件名”]


其中,“数字”为任意正整数,表示源程序中当前语句的行号;“文件名”为可选的任意有效文件标识符,表示源文件的名字。使用#line命令的程序示例如下。


include<stdio.h>//头文件

line 300//初始化行计数器

void main()//行号300

{//行号301

printf(“Line Number=%d\n”,LINE);//行号302

}


该程序可以在KeilµVision3集成开发环境中运行,其结果如下所示。


Line Number=302


本例中,首先使用#line命令初始化行计数器,然后在主程序中输出当前语句的行号。输出语句显示行号为302,因为它是初始化行号后的第3行语句。