【发布时间】:2010-01-19 15:48:11
【问题描述】:
gcc 4.4.2 c89
我有以下代码。
#if defined ( __linux__ )
log_msg(stderr, "Socket failed [ %s ] [ %s ] [ %d ]\n",
strerror(errno), __func__, __LINE__);
#elif ( WIN32 )
log_msg(stderr, "Socket failed [ %s ] [ %s ] [ %d ]\n",
strerror(errno), __FUNCTION__, __LINE__);
#endif
因为我同时在 windows 和 linux 上编译,所以我必须将 log_msg 分开,因为它们使用不同的宏来获取函数名称 FUNCTION 和 func。。 p>
但是,我有很多这样的 log_msg 需要写,我想知道是否可以避免因为一个宏不同而不得不写两次?
非常感谢您的建议,
【问题讨论】:
标签: c