假设我有:
func1()
{
int var = something;
func2(var); /* Call func2() with var as I/P parameter */
......
......
}
func2 (int var)
{
.....
}
我们可以使用
__FUNC__
在痕迹中打印func2
的名称。但是有什么方法可以打印
(inside f2())
调用函数(即f1()
)中使用的变量NAME来调用此函数:痕迹(在
f2()
内部)类似:func2(var)
最佳答案
好了,您可以修改函数以对输入进行字符串化:
#ifdef INCLUDE_PARAM_TRACE
#define func2(a) _func2(a, #a)
#endif
#ifdef INCLUDE_PARAM_TRACE
void _func2(int a, const char * param_string)
#else
void func2(int a)
#endif
但是,除非您非常注意定义方法的方式和位置,否则这很快就会变得很混乱:-)
关于c - 如何在C中将Function的I/P参数打印为变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8504336/