这句主要作用是提示编译器,对这个函数的调用需要像 printf 一样,用对应的 format 字符串来检查可变参数的数据类型。
例如:
extern int my_printf (void *my_object, const char *my_format, ...)
__attribute__ ((format (printf, 2, 3)));
format (printf, 2, 3) 告诉编译器,my_format 相当于 printf 的 format,而可变参数是从 my_printf 的第 3 个参数开始。
这样编译器就会在编译时用和 printf 一样的检查法则来确认可变参数是否正确了。
(SAW:Game Over!)