获取CC++中调用的最后一个函数

获取CC++中调用的最后一个函数,第1张

概述我正在使用API​​,我发现自己写了很多错误处理代码: if (errorCode = functionName(params)) printError(errorCode, "functionName", __LINE__, __FILE__); printError的主体可能如下所示: fprintf(stderr, "Error in function %s on line %d 我正在使用API​​,我发现自己写了很多错误处理代码:
if (errorCode = functionname(params))     printError(errorCode,"functionname",__liNE__,__file__);

printError的主体可能如下所示:

fprintf(stderr,"Error in function %s on line %d of file %s",functionname,lineNumber,fileNumber);

但是,每次都要硬编码功能名称是一件很痛苦的事情.有没有办法得到导致错误的函数的名称,即在运行时或通过宏调用的最后一个函数?当然,我无法以任何方式修改API函数.有办法可以获得current function以及calling function,但是这两个功能都不在外面.

解决方法 你可以有这个
#define SAFE_CALL(func) \do {\    if (errorCode = (func)) \        printError(errorCode,#func,__file__);\} while(0)SAFE_CALL(functionname(params));
总结

以上是内存溢出为你收集整理的获取C/C++中调用的最后一个函数全部内容,希望文章能够帮你解决获取C/C++中调用的最后一个函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1253498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存