__attribute__ ((format (printf, 2, 3)));

本文详细解释了如何使用格式属性宏(format attribute)来辅助编译器检查可变参数函数的正确性。通过一个具体的示例说明了如何声明一个类似于printf的函数,并指定了format字符串的位置以及可变参数列表的起始位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这句主要作用是提示编译器,对这个函数的调用需要像printf一样,用对应的format字符串来check可变参数的数据类型。

例如:
extern int myprintf (void *other, const char *fmt, ...)
__attribute__ ((format (printf, 2, 3)));

format (printf, 2, 3)告诉编译器,fmt相当于printf的format,而可变参数是从myprintf 的第3个参数开始。

这样编译器就会在编译时用和printf一样的check法则来确认可变参数是否正确了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值