我需要自動將方法名添加到某些日誌消息。我一直在使用__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. 可用於打印方法名稱的宏/關鍵字?