我正在尝试为系统日志编写一个宏,其公式如下。
#define MYLOG_INFO(...) syslog(LOG_INFO, ...)
并在代码中这样使用。
MYLOG_INFO("use: %s received\n", argv[0]);
但是,我看到这样的错误。
error : expected expression before '...' token
我尝试将 for ... 更改为 __VA_ARGS__
warning :
__VA_ARGS__
can only appear in the expansion of a C99 variadic macro
有人可以指出我哪里出了问题吗? -- 提前致谢!
最佳答案
我修改如下,可以正常编译。
#define MYLOG_INFO(args...) syslog(LOG_INFO, ##args)
你可以试试。
关于c - 在 C 中为 syslog 编写一个宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35860936/