对于C/C++,可变参数宏在windows和linux下是同的。需要分别定义,否则会引起莫明其妙的错误。
#if defined (WIN32)
#define LOG(fmt, args...) do{if(P11Enginer::logFile) \
fprintf(P11Enginer::logFile, "[%s] "fmt, __FUNCTION__, ##args);}while(0)#else
#define LOG(fmt,...) do{if(P11Enginer::logFile) \
fprintf(P11Enginer::logFile, "[%s] "fmt, __FUNCTION__, __VA_ARGS__);}while(0)
#endif //#if defined (WIN32)