假设我有:
func1()
{
int var = something;
func2(var); /* Call func2() with var as I/P parameter */
......
......
}
func2 (int var)
{
.....
}
我们可以使用__FUNC__
在迹线中打印func2
的名称。
但是有没有办法打印(在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 中将函数的 I/P 参数打印为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8504336/