关于预编译和宏定义部分说明
From: http://www.neu.edu.cn/cxsj/pointchart/c11/index.html #pragma指令 TAG: 预编译和宏定义,ANSI C,# pragma TEXT: 其语法格式如下: # pragma token-sequence 此指令的作用是触发所定义的动作。如果token- sequence存在,则触发相应的动作,否则忽略。此指令一般为编译系统所使用。例如在Visual C++.Net 中利用# pragma once 防止同一代码被包含多次。 #line指令 TAG: 预编译和宏定义,ANSI C,#line TEXT: 此命令主要是为强制编译器按指定的行号,开始对源程序的代码重新编号,在调试的时候,可以按此规定输出错误代码的准确位置。 形式1 语法格式如下: # line constant “filename” 其作用是使得其后的源代码从指定的行号constant重新开始编号,并将当前文件的名命名为filename。例如下面的程序如下: #include "stdio.h" void Test(); #line 10 "Hello.c" int main(int argc, char* argv[]) { #define CONST_NAME1 "CONST_NAME1" printf("%s\n",CONST_NAME1);