[iOS开发]开启/关闭编译器警告_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > [iOS开发]开启/关闭编译器警告

[iOS开发]开启/关闭编译器警告

 2015/5/14 14:57:50  青清风  程序员俱乐部  我要评论(0)
  • 摘要:全局开启/关闭“BuildSettings”->“AppleLLVM-Warnings”中选择需要开启/关闭的警告“BuildSettings”->“AppleLLVM-CustomCompilerFlags”中添加标识,开启标识为-W...,关闭标识为-Wno...-Wall并不是所有警告。这一个警告组开启的是编译器开发者对于“你所写的代码中有问题&rdquo
  • 标签:编译器 iOS 编译 开启 开发
  1. 全局开启/关闭
    1. “Build Settings” -> “Apple LLVM - Warnings”中选择需要开启/关闭的警告
    2. “Build Settings” -> “Apple LLVM - Custom Compiler Flags”中添加标识,开启标识为-W...,关闭标识为-Wno...
      1. -Wall 并不是所有警告。这一个警告组开启的是编译器开发者对于“你所写的代码中有问题”这一命题有着很高的自信的那些警告。要是在这一组设定下你的代码出现了警告,那基本上就是你的代码真的存在严重问题了。但是同时,并不是说打开Wall就万事大吉了,因为Wall所针对的仅仅只是经典代码库中的为数不多的问题,因此有一些致命的警告并不能被其捕捉到。但是不论如何,因为Wall的警告提供的都是可信度和优先级很高的警告,所以为所有项目(至少是所有新项目)打开这组警告,应该成为一种良好的习惯
      2.   -Wextra 如其所名,-Wextra组提供“额外的”警告。这个组和-Wall组几乎一样有用,但是有些情况下对于代码相对过于严苛。一个很常见的例子是,-Wextra中包含了-Wsign-compare,这个警告标识会开启比较时候对signed和unsigned的类型检查,当比较符两边一边是signed一边是unsigned时,产生警告。其实很多代码并没有特别在意这样的比较,而且绝大多数时候,比较signed和unsigned也是没有太大问题的(当然不排除会有致命错误出现的情况)。需要注意,-Wextra和-Wall是相互独立的两个警告组,虽然里面打开的警告标识有个别是重复的,但是两组并没有包含的关系。想要同时使用的话必须在Other C Flags中都加上.
      3.   -Weverything 这个是真正的所有警告。但是一般开发者不会选择使用这个标识,因为它包含了那些还正在开发中的可能尚存bug的警告提示。这个标识一般是编译器开发者用来调试时使用的,如果你想在自己的项目里开启的话,警告一定会爆棚导致你想开始撞墙..
  2. 针对特定文件开启/关闭
    1. “Build Phases” -> “Compile Sources”,在指定文件的“Compiler Flags”添加标识
  3. 针对特定代码行开启/关闭
    1. 1 #pragma clang diagnostic push 
      2 #pragma clang diagnostic ignored "-Wunused-variable" 
      3   
      4 #pragma clang diagnostic pop

       

发表评论
用户名: 匿名