5
用于Objective-C开发的警告标志
作为C和Objective-C程序员,我对编译器警告标志有些偏执。 我通常会尝试为我使用的编译器找到完整的警告标志列表,并打开大多数警告标志,除非我确实有很好的理由不打开它。 我个人认为,这实际上可能会提高编码技能以及潜在的代码可移植性,防止出现某些问题,因为它迫使您意识到每个小细节,潜在的实现和体系结构问题,等等。 我认为,即使您是经验丰富的程序员,它也是一种很好的日常学习工具。 对于此问题的主观部分,我有兴趣听取其他有关此主题的开发人员(主要是C,Objective-C和C ++)的信息。 您是否真的在乎诸如脚步警告之类的东西?如果是或否,为什么? 现在关于Objective-C,我最近完全切换到了LLVM工具链(使用Clang),而不是GCC。 在生产代码中,通常会设置以下警告标志(明确地,即使其中一些可能被-Wall覆盖): -壁 -坏功能广播 -Wcast-align -W转换 -W声明后声明 -W弃用的实现 -Wextra -浮子等于 -Wformat = 2 -Wformat-非文字 -Wfour-char-constants -隐式原子性质 -大括号 -遗失声明 -Wmissing-Field初始化程序 -遗漏格式属性 -不愿回报 -遗忘原型 -Wnested-externs -Wnewline-eof -老式风格的定义 -长弦 -希望 -Wpointer-arith -多余的决定 -返回类型 -序列点 -影子 -将64缩短到32 -Wsign比较 -Wsign转换 -严格的原型 -严格选择匹配 -W开关 -Wswitch-默认 -Wswitch枚举 -绝对选择器 -未初始化 -Wonknown-pragmas …
86
objective-c
clang