预处理命令
基本预处理
C语言中除开
#ifdef #defined #else #endif
基本预处理
#define N 10 //定义常量 #define N(x) x*x //定义函数 #define connect(a,b) a#b //将a和b当作字符串链接起来
在这些处理过程中容易导致一些问题如
- #define N(x) x*x 当我们调用该方法 N(2+2);那么我们得到的结果是 2+2*2+2,也就是说我们的#define是简单的文本替换,我们需要注意
我们使用#define时,如果函数长度过长,那么我们可以使用\来写到下一行
#define max(a,b) \ ((a)>(b)?(a):(b))
其他常用的处理命令
#error
error
强制编译程序停止编译,它主要用于程序调试,#error的一般格式是
error error-Message
#line
#line指令改变__LINE__和__FILE__,__LINE__和__FILE__都是编译器中预定义的标识符.__FILE__表示当前被编译的文件名,__LINE__表示当前代码的行数,这样可以方便的使用与程序调试出错,和日志文件
#pragma
#pragma是编译程序实现的定义指令