欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C标准中一些预定义的宏

程序员文章站 2024-01-17 19:52:16
...

C语言中的__FILE__、__LINE__和__DATE__等都在头文件#include <stdio.h>中

前边几个是比较常用到的

__LINE__ : 当前程序行的行号,表示为十进制整型常量
__FILE__  : 当前源文件名,表示字符串型常量
__DATE__ :转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的。
__TIME__ :转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产生的。(asctime貌似是指的一个函数)
__PRETTY_FUNCTION__:显示函数及参数

__func__:当前所在函数名

 

以下几个不常用到

__STDC__ 编辑器为ISO兼容实现时位十进制整型常量
__STDC_VERSION__ 如何实现复合C89整部1,则这个宏的值为19940SL;如果实现符合C99,则这个宏的值为199901L;否则数值是未定义
__STDC_EOBTED__ (C99)实现为宿主实现时为1,实现为独立实现为0
__STDC_IEC_559__ (C99)浮点数实现复合IBC 60559标准时定义为1,否者数值是未定义
__STDC_IEC_559_COMPLEX__ (C99)复数运算实现复合IBC 60559标准时定义为1,否者数值是未定义
__STDC_ISO_10646__ (C99)定义为长整型常量,yyyymmL表示wchar_t值复合ISO 10646标准及其指定年月的修订补充,否则数值未定义
 

printf( "The file is %s.\n", __FILE__ );
//...../test.c
printf( "The date is %s.\n", __DATE__ );
// Jun  6 2020
printf( "The time is %s.\n", __TIME__ );
// 16:55:23
printf( "This is line %d.\n", __LINE__ );
// 6
printf( "This function is %s.\n", __func__ );
// main

printf("行号:%d 函数名:%s, %s, %s \n", __LINE__,__func__,__FUNCTION__, __PRETTY_FUNCTION__);
//行号:92 函数名:main, main, int main(int, const char **)

 

 

 

相关标签: Mac OS