#pragma clang diagnostic ignored处理编译器警告

常常在一些第三方库中看到作者用以下套路处理编译器警告:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "xxxxxx"
/*     code     */
#pragma clang diagnostic pop

这个也是pragma的一个较常用的用法。也很好理解,push一个编译器特殊处理的方法,指定方法的命令,具体的code,处理完后pop掉给特殊处理的方法,恢复原来编译器默认的处理方法。

  • 其中以上"xxxxxx"是"命令"字符串。
  • 以下简单罗列几个常用的命令

"-Warc-performSelector-leaks" 忽略performselector可能造成内存泄漏的警告
"-Wreceiver-is-weak" 忽略调用者接收者是weak属性的警告
"-Wunused-variable" 忽略变量未使用的警告
"-Wdeprecated-declarations" 忽略方法弃用的警告
"-Warc-retain-cycles" 忽略循环引用的警告
"-Wincompatible-pointer-types" 忽略指针不兼容的警告

  • 其他的命令可以参考链接: 命令列表

你可能感兴趣的:(#pragma clang diagnostic ignored处理编译器警告)