加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

自定义警告为printf的“格式参数太多”

发布时间:2020-12-16 06:58:53 所属栏目:百科 来源:网络整理
导读:有没有办法告诉 gcc根据其参数检查函数中的参数号,类似于在使用printf时给出“格式参数太多”时的作用? 例如,我们可以使用stdarg-using方法,其中包含一些必需的参数,这些参数可以提供有关其当前所需参数编号的信息,并让gcc告诉我们何时出错: calculate_mea
有没有办法告诉 gcc根据其参数检查函数中的参数号,类似于在使用printf时给出“格式参数太多”时的作用?

例如,我们可以使用stdarg-using方法,其中包含一些必需的参数,这些参数可以提供有关其当前所需参数编号的信息,并让gcc告诉我们何时出错:

calculate_mean(4,//Number of arguments
               3,2,1,10); //actual parameters

calculate_mean(5,//Custom warning from gcc because
               1,5,10,2); //there is one missing argument

给予:

# gcc -c file.c -o file.o
gcc: Warning: calculate_mean: Too few arguments (5 required,4 given)

它可以从代码内部,从配置文件中完成,还是在编译器内硬编码而不是完全可能的?

解决方法

看来,对printf样式字符串的支持是硬编码到编译器中的.特别是,编译器有一个特殊的 format function attribute,可用于注释printf样式函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读