在C语言中,系统宏(也称为预定义宏或内置宏)的数量并不是固定的,因为它们取决于C标准、编译器以及可能的其他因素。然而,有一些常见的预定义宏是几乎所有C编译器都支持的。
以下是一些常见的C预定义宏:
__LINE__
: 当前源代码行号。__FILE__
: 当前源代码文件名。__DATE__
: 编译日期,格式为 "Day Mon DD HH:MM:SS YYYY\n"。__TIME__
: 编译时间,格式为 "HH:MM:SS"。__STDC__
: 如果编译器遵循C标准,则此宏定义为1。__STDC_VERSION__
: 表示C标准的版本,例如 "199901L" 表示 C99 标准。__cplusplus
: 如果编译器正在编译C++代码,则此宏定义为1(注意这不是C特有的)。
除了上述的宏之外,编译器可能还定义了一些其他的特定于平台或编译器的宏。例如,GCC(GNU编译器集合)定义了许多这样的宏,如 __GNUC__
、__GNUC_MINOR__
、__GNUC_PATCHLEVEL__
等,用于指示GCC的版本。
由于预定义宏的具体数量和内容可能因编译器而异,因此最好的做法是查阅您所使用的编译器的文档以获取最准确的信息。