我一直在开发使用日志记录机制的应用程序,并且我实现了一种 printf 函数,它接受各种数量的参数并打印以记录某些消息,我想要为这个函数添加一个函数名,但我不知道要写什么每个函数调用中的这个参数。
所以我决定写一个宏,结果并不那么容易
#define WriteToLogParams(szMessage, nLogLevel, param1, param2) WriteToLogParamsFunc(szMessage, __FUNCDNAME__, nLogLevel, param1, param2)
首先,我认为有某种宏重载,我可以很容易地做到这一点,但事实证明,如果我编写另一个具有相同名称但参数数量不同的宏,它将无法编译。所以为了让它工作,我应该让每个宏名称都是唯一的。
那么有什么聪明的方法可以做到这一点吗?
提前谢谢你。