使用 -features=extensions 时,编译器将每个函数中的标识符 __func__ 隐式声明为静态 const char 数组。如果程序使用标识符,编译器还会提供以下定义,其中,function-name 是函数原始名称。类成员关系、名称空间和重载不反映在名称中。
static const char __func__[] = "function-name"; |
例如,请考虑以下代码段。
#include <stdio.h> void myfunc(void) { printf("%s\n", __func__); } |
每次调用函数时,函数将把以下内容打印到标准输出流。
myfunc |