宏VA_ARGS到VS2010 VC

时间:2012-09-04 14:42:58

标签: c visual-studio-2010 macros gnu

在使用Linux的GNU-GCC中,这是有效的 #define sprintfc(string, ...) sprintf(string+strlen(string), ##__VA_ARGS__) Visual Studio 2010是否有相同的定义?

1 个答案:

答案 0 :(得分:0)

Microsoft Visual C编译器does support variadic macros。但是,问题是the GCC extension ##,如果没有传递参数,则删除前导逗号。

因为在没有第二个参数的情况下从不调用sprintf(),所以如果你只删除##,你的代码应该可以正常工作。