, __DATE__);printf("当前时间: %s\n", __TIME__); } 程序运行结果截图如下:C标准的预定义宏有很多,例如__STDC__、__STDC_HOSTED__、__STDC_ISO_10646__等等,有兴趣的朋友可以查阅详细文档进行了解,也可以私信我赠送电子版C标准文档。下期我们重点介绍下宏替换。段誉,2024年3月13日,写于合肥。
标准C语言要求特定实现的宏名一下划线开头,加上大写字母或另一个下划线(unix宏不符合这个要求)。 实际运用,例:预定义宏可以在魔种错误消息中使用: if(n|=m)fprintf(stderr,"Internal error;line %d,file 5s\n",__LINE__,__FILE__); 其他实现定义的宏可以分隔主机或特定目标代码。例如:Microsoft Visual C++...
在日常项目编程中,预定义宏尤其对多目标平台代码的编写通常具有重大意义。通过预定义宏,程序员使用“#ifdef”与“#endif”等预处理指令,就可使平台相关代码只在适合于当前平台的代码上编译,从而在同一套代码中完成对多平台的支持。从这个意义上讲,平台信息相关的宏越丰富,代码的多平台支持越准确。 标准C 语言提供...
通过预定义宏,程序员使用“#ifdef”与“#endif”等预处理指令,就可使平台相关代码只在适合于当前平台的代码上编译,从而在同一套代码中完成对多平台的支持。从这个意义上讲,平台信息相关的宏越丰富,代码的多平台支持越准确。 2、C标准预定义宏 标准C 语言提供的一些标准预定义宏如表 1 所示。
标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义。下面预定义宏表,被我抄了下来。 __LINE__ 当前程序行的行号,表示为十进制整型常量 __FILE__ 当前源文件名,表示字符串型常量 ...
预定义宏是由编译器自动定义的标识符,它们包含了编译器、操作系统、文件名、行号等编译时信息。开发者可以直接在代码中使用这些宏,而无需手动定义。 C语言/C++中的预定义宏 C语言中的预定义宏主要用于提供编译时信息,以下是一些常见的预定义宏: __LINE__ ...
宏定义中的do-while循环do 空操作的定义 预定义宏 C语言中常用的宏 1. 简单宏定义 简单的宏定义有如下格式: [#define指令(简单的宏)] #define 标识符替换列表 替换列表是一系列的C语言记号,包括标识符、关键字、数、字符常量、字符串字面量、运算符和标点符号。当预处理器遇到一个宏定义时,会做一个 “标...
ANSIC标准定义了以下6种可供C语言使用的预定义宏: __LINE__ 在源代码中插入当前源代码行号 __FILE__ 在源代码中插入当前源代码文件名 __DATE__ 在源代码中插入当前编译日期〔注意和当前系统日期区别开来〕 __TIME__ 在源代码中插入当前编译时间〔注意和当前系统时间区别开来〕 ...
什么是预定义宏,顾名思义,就是事先已经定义好的宏。有两个特性: 1.无需提供它们的定义,就可以直接使用。 2.预定义宏没有参数,且不可被重定义。 预定义宏一般分为两类: 标准预定义宏(Standard Predefined Macros), 编译器预定义宏(GNU-, Microsoft-Specific Predefined Macros) ...