中国开发网: 论坛: 程序员情感CBD: 贴子 176646
holly
嗯, C 也可以, 用函数指针+全局变量
写个例子

#include <stdio.h>
#include <stdarg.h>

#define LOGPRINT log_function(__FUNCTION__, __LINE__)

typedef int (* print_func)(const char * format, ...);

static const char * s_pFunctionName;
static int s_lineNumber;


print_func log_function(const char * pFunctionName, int lineNumber)
{
s_pFunctionName = pFunctionName;
s_lineNumber = lineNumber;

return print;
}


int main()
{
char * str = "aaa";
int i = 0;

return LOGPRINT("%s - %d\n", str, i);
}

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录