在C中为syslog编写一个宏

时间:2016-03-08 06:56:50

标签: c macros syslog

我正在尝试为syslogs编写一个宏,其配置如下。

#define MYLOG_INFO(...)   syslog(LOG_INFO, ...)

并在代码中使用。

MYLOG_INFO("use: %s received\n", argv[0]);

但是,我看到这样的错误。

  

错误:在' ...'之前的预期表达令牌

我尝试将...更改为__VA_ARGS__

  

警告:__VA_ARGS__只能出现在C99的扩展中   可变宏观

有人能指出一些有关出错的提示吗? - 提前谢谢!

1 个答案:

答案 0 :(得分:0)

我将其修改为以下内容,可以无误地编译。

#define MYLOG_INFO(args...)   syslog(LOG_INFO, ##args)

你可以尝试一下。