__PRETTY_FUNCTION_ 以及C++中调用C

举报
aiot_bigbear 发表于 2022/09/25 02:43:32 2022/09/25
【摘要】 linux@ubuntu:~/linux_c$ cat example.c  #include <stdio.h> int main(void) { printf("hi main=%s %s\n",__FUNCTION__,__PRETTY_FUNCTION__); printf("hi main=%s ...

linux@ubuntu:~/linux_c$ cat example.c 
#include <stdio.h>




int main(void)
{
printf("hi main=%s %s\n",__FUNCTION__,__PRETTY_FUNCTION__);
printf("hi main=%s %s\n",__FUNCTION__,__func__);
return 0;
}


linux@ubuntu:~/linux_c$ cat test.cpp 
#include <stdio.h>
extern "C" {
     extern int printf (const char *, ...);
     }
     
     
     class a {
      public:
       void sub (int i)
         {
           printf ("__FUNCTION__ = %s\n", __FUNCTION__);
           printf ("__PRETTY_FUNCTION__ = %s\n", __PRETTY_FUNCTION__);
         }
     };
     
     int
     main (void)
     {
       a ax;
       ax.sub (0);
       return 0;
     


linux@ubuntu:~/linux_c$ g++ test.cpp -o dd













linux@ubuntu:~/linux_c$ gcc -g example.c



linux@ubuntu:~/linux_c$ g++ -g example.c


hi main=main main


In C, __PRETTY_FUNCTION__ is yet another name for __func__. However, in C++, __PRETTY_FUNCTION__ contains the type signature of the function as well as its bare name


https://gcc.gnu.org/onlinedocs/gcc/Function-Names.html

文章来源: blog.csdn.net,作者:悟空胆好小,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/xushx_bigbear/article/details/48804665

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。