使用GCC,我可以指定__attribute__((format(printf, 1, 2))),告诉编译器该函数采用printf格式说明符的vararg参数.
这在我包装例如vsprintf函数系列的情况下非常有用.我可以有
extern void log_error(const char *format, ...) __attribute__((format(printf, 1, 2)));
每当我调用这个函数时,gcc将检查参数的类型和数量是否与printf一样符合给定的格式说明符,如果没有则发出警告.
Microsoft C/C++编译器是否有类似的东西?