1、ANSI标准说明了五个预定义的宏名
__LINE__ /*使用该宏的行号*/
__FILE__ /*文件名*/
__DATE__ /*EXE编译日期*/
__TIME__ /*EXE编译时间*/
__FUNCTION__/*类名加函数名*/
__func__/*函数名*/
2、VS的预定义:
NDEBUG //Debug模式
3、define的三个特殊符号:#,##,#@
#define conn(x,y) x##y
#define toChar(x) #@x
#define toString(x) #x
//x##y?表示x连接y
int con = conn(1230, 456); /* con=1230456;*/
char* str = conn("abc", "ddd"); /*str = "abcddd";*/
//#@x,表示给x加上单引号,返回单个字符,const char。
char ch = toChar(6); ;/*ch = '6';*/
//#x:表示给x加双引号,返回一个字符串
char* str = toString(123);/*str = "123";*/