我有很多不同的函数,它们都有简单的printf
使用 __func__
的语句类似于这个:
printf("%s - hello world!", __func__);
现在我遇到的问题是在某些函数中它返回 <unknown>
而不是函数名称。
这是为什么呢?难道我做错了什么?据我所知__func__
是 c99
的一部分所以我不明白为什么它没有像宣传的那样工作。
我在 Debian 中使用 GCC 4.7.2。
最佳答案
听起来您包含的 header 必须执行与此类似的操作 bug并定义 __func__
如下:
define __func__ "<unknown>"
因此您只有在包含该 header 时才能看到它。对此进行测试的一种快速方法是在 __func__
不起作用的代码部分中使用 __FUNCTION__
。然后你需要缩小它并找出哪个标题有麻烦的逻辑并修复它。
关于c - 为什么 __func__ 在 C 的某些函数中返回 <unknown>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18016018/