前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[随笔]clang一些常用诊断标记

[随笔]clang一些常用诊断标记

原创
作者头像
望天
发布2022-05-25 20:55:52
2470
发布2022-05-25 20:55:52
举报
文章被收录于专栏:along的开发之旅along的开发之旅

最近代码上遇到一些问题,编译的时候不报错,执行的时候才报错,这种代码还是很危险的。

有两个case:

1. format时标记给的不对,比如是个int,但是格式化时用了%s

2. 函数应该return true,但是代码里没有实际返回,Android这边报错 "Failed anonymous mmap, out of memory", 记得以前int的时候,没有实际return int,是报错"illegal instruction".

这种问题,其实都可以在编译时发现,万能的clang,提供了很多诊断工具,详细列表在这里。

https://clang.llvm.org/docs/DiagnosticsReference.html

比如第一个场景,可以用“-Werror=format”,第二个可以用“-Werror=return-type”, 这样就可以直接编译时报错。

或者有些遇到,但是不希望报错的,可以用“-Wno-error=format”。

但最终还是推荐使用“-Wall -Wextra -Wconversion”保平安

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com