编译出现 您所在的位置:网站首页 编译器会将警告视为错误信息吗 编译出现

编译出现

2024-02-24 23:30| 来源: 网络整理| 查看: 265

1.1 啥是-Wall和-Werror字段

这个没有啥多少的,人狠话不多直接上解释:

    Wall:编译阶段显示所有警告。     Werror:将所有的警告当成错误进行处理,使出现警告时就停止编译,这种错误是最常见的。

1.2 啥是LOCAL_CFLAGS

LOCAL_CFLAGS是Android.mk中定义的一个编译选项,其可以根据后续添加的选项不同,分为如下几个用途,下面让我们一起总结一下:

    -D选项,相当于添加宏定义

LOCAL_CFLAGS += -DXXX   相当于在所有源文件中增加一个宏定义#define XXX

    -O 代表默认优化,可选:-O0不优化,-O1低级优化,-O2中级优化,-O3高级优化,-Os代码空间优化,这个不在本章的讨论范围之内。     -W[no-] no- 表示诊断时忽略这个警告 ,这个是本章的重点地方,划重点了,各位仔细留意啊,如下:

编译器的警告设置参数,拥有众多的选项,下面举一些常用的例子:

 -Woption 让编译器给出option指定的编译警告,常用的一些如下:                 unused-function: 遇到仅声明过但尚未定义的静态函数时发出警告。                 unused-parameter: 从未用过的函数参数的警告。                 unused-variable: 在本地声明但从未用过的变量的警告。                 unused-value: 经计算但从未用过的值得警告。                 return-type: 对函数返回类型不当的警告。                 uninitialized:在初始化之前就使用自动变量。                 float-equal:   比较两个浮点数是否相等。 -Wall  给出“几乎”所有的编译器警告,注意是“几乎”。下面是一些-Wall没有输出的警告类型:                 sign-compare:将有符号类型和无符号类型数据进行比较时发出警告。                 unreachable-code:如果发现从未执行的代码时给出警告。                 inline:如果某函数不能按要求内嵌(inline),则无论是函数声明为inline或者是指定了-finline-functions 选项,编译都将发出警告。       -Werror   把所有的警告都视为错误处理。 -Wno-option     如果我们不想输出某些警告信息,可以使用此参数形式,比如:LOCAL_CFLAGS := -Wno-unused-parameter



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有