怎样获得函数自己的函数名。

gyscs 2002-03-11 05:51:32
例如有一个函数:
aa{

....
}
在aa这个函数里我怎样获得函数本身的名字是aa.
...全文
371 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
masterz 2002-04-05
  • 打赏
  • 举报
回复
VS.Net supports several macros that contain the name of the current function.
__FUNCDNAME__, __FUNCSIG__, __FUNCTION__
VC6 does not support them.
gyscs 2002-04-05
  • 打赏
  • 举报
回复
我还想知道怎样得到调用本函数的父函数的函数名
gyscs 2002-04-05
  • 打赏
  • 举报
回复
tigerfox(混合体)说得非常对,知道函数的函数名,在出错的情况下可以精确的报出错误所在函数,再加以引申完善的话就可以写出一个错误自动定位之类的东西。
pigczc 2002-03-12
  • 打赏
  • 举报
回复
难道手写再代码中加入
Cstring str = fucnname; 不行吗????

我考!
这是最easy的方法了!
如果只是给调试用,
可以用
#ifdef _DEBUG
把它包起来吗...
Wugifer 2002-03-11
  • 打赏
  • 举报
回复
另外一个宏 __FUNCTION__ 是未转换的函数名,__FUNCDNAME__ 是转换后的函数名,例如下面程序

#include <iostream>
using namespace std;

void func()
{
cout << __FUNCDNAME__ << endl;
cout << __FUNCTION__ << endl;
}

void main()
{
func();
}

在我的机器上输出

?func@@$$FYAXXZ
func
Wugifer 2002-03-11
  • 打赏
  • 举报
回复
在VC中用 __FUNCDNAME__ 宏可以取得宏所在的函数的函数名。
red_eyes 2002-03-11
  • 打赏
  • 举报
回复
HRESULT GetCurFile(LPOLESTR *ppszFileName )这个函数只能返回当前的文件名字,如果是当前的一个程序的名字也可以实现,涉及到一些复杂的迭代问题。
cowmax 2002-03-11
  • 打赏
  • 举报
回复
很有趣的问题,我想知道,但有什么用处?
zealotcn 2002-03-11
  • 打赏
  • 举报
回复
楼上的ID不错嘛!
ExitWindows 2002-03-11
  • 打赏
  • 举报
回复
tigerfox(混合体) :
知道函数名的好处之一就是运行时可以显示出错处的函数名。
dxhdxh2k 2002-03-11
  • 打赏
  • 举报
回复
应该可以的吧。 例如一些dll中的函数不就是可以通过dumpbin之类看到的
once168 2002-03-11
  • 打赏
  • 举报
回复
楼上说的对,为什么要函数名呢----就要像变量A,你可以定义成变量B,变量C,管它叫什么,只要它的数据和地址就行了,一个函数变量就可以了;
当然要函数地址也是可以找到的(查找CALL、RET指令),但除了连接与编译外一点用都没有
tigerfox 2002-03-11
  • 打赏
  • 举报
回复
为什么要知道函数名,定义个函数指针不就行了。
SmallPigII 2002-03-11
  • 打赏
  • 举报
回复
试试读Dll或exe文件,计算以下各个函数的连接地址,在和内存地址比较试试,能不能得出点结论,不过我没试过,随便说说
happyangelclc 2002-03-11
  • 打赏
  • 举报
回复
可能吗?期待
ExitWindows 2002-03-11
  • 打赏
  • 举报
回复
VC++ 6 的编译器能支持这种方式么?
tuying2 2002-03-11
  • 打赏
  • 举报
回复
楼上地以为说的好。
xcopy 2002-03-11
  • 打赏
  • 举报
回复
好像不大可能,这要看编译器了。
pigczc 2002-03-11
  • 打赏
  • 举报
回复
aa{
CString strFuncName = _T("aa");



....
}

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧