__attribute__ format(printf, 1, 2) 的具体含义

2023-02-07 18:47:55

这句主要作用是提示编译器,对这个函数的调用需要像 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 一样的检查法则来确认可变参数是否正确了。

转载:__attribute__ format(printf, 1,2)的具体含义-瀚海小王子-ChinaUnix博客

(SAW:Game Over!)

  • 作者:Ruo_Xiao
  • 原文链接:https://blog.csdn.net/itworld123/article/details/127213432
    更新时间:2023-02-07 18:47:55