我需要自动将方法名添加到某些日志消息。我一直在使用__FUNCTION__
这样做,但它会生成方法的全限定名(namespace :: class:method)。所以它浪费了很多空间,使得日志的可读性降低。有什么方法可以在MACRO中仅附加方法名称,没有任何不必要的限定符?在宏中生成方法名称
2
A
回答
1
如果你的日志代码如下所示:
#define LOGCALL \
clog << "Called " << MyTrim(__FUNCTION__) << endl;
1
编写一个函数,需要一个:
#define LOGCALL \
clog << "Called " << __FUNCTION__ << endl;
然后根据需要,说你可以简单的写一个全局函数修剪函数名char *参数并返回一个指向其中的函数名称的指针。 然后写
MyFunction(FUNCTION)
而不是
FUNCTION
这还具有以下优点,可以动态短期和长期名称之间切换。
相关问题
- 1. common lisp:宏如何用程序生成的名称定义其他方法/宏?
- 2. 数字生成器方法的名称
- 3. 在宏中生成包含文件名
- 4. 在rails中动态生成方法名称
- 5. 宏也可以生成一个方法名?
- 6. 使用Swagger命名AutoRest生成的方法名称
- 7. 在Visual Studio中,有没有办法自动生成唯一的方法名称?
- 8. 在方法名称
- 9. 在javascript中生成变量名称
- 10. PyXB:在Unicode中生成类名称
- 11. 在循环中生成变量名称
- 12. 具有不合理名称的Eclipse生成方法参数
- 13. 为方法生成错误名称的模块
- 14. 缺失参数名称生成插入方法
- 15. 如何获取Url.action以生成操作方法名称
- 16. 动态生成名称的类的调用方法
- 17. 动态生成方法名称的前缀
- 18. 如何自定义JAXB如何生成复数方法名称?
- 19. 获取以无效方法生成的随机数的名称
- 20. Javascript名称生成器
- 21. 生成唯一名称?
- 22. Swift中的方法名称
- 23. 在bash从名称生成ID号
- 24. node.js中的花式名称生成器
- 25. 什么::(成员方法名称)在C++中做什么
- 26. 如何使用宏在C++中生成随机变量名?
- 27. 为命名管道生成名称
- 28. 如何生成方法签名?
- 29. Java如何为方法生成签名?
- 30. 可用于打印方法名称的宏/关键字?