-w
禁止所有警告信息.
-W
对下列事件显示额外的警告信息:
*
非易变自动变量(nonvolatile automatic variable)可能在调用longjmp时发生改变. 这些
警告仅在优化编译时发生.
编译器只知道对setjmp的调用,他不可能知道会在哪里调用longjmp,事实上一个 信号处理例程可
以在程序的任何地点调用他.其结果是,即使程序没有问题,你也可能会得到警告,因为无法在可能出
现问题 的地方调用longjmp.
*
既可以返回值,也可以不返回值的函数. (缺少结尾的函数体被看作不返回函数值)例如,下面的函数
将导致这种警告:
foo (a)
{
if (a > 0)
return a;
}
由于GNU CC不知道某些函数永不返回(含有abort和longjmp),因此有可能出现虚假警告.
*
表达式语句或逗号表达式的左侧没有产生作用(side effect).如果要防止这种警告,应该把未使
用的表达式强制转换为void类型.例如,这样的表达式`x[i,j]'会导致警告,而`x[(void)i,
j]'就不会.
*
无符号数用`>'或`<='和零做比较.
-Wall
结合所有上述的`-W'选项.通常我们建议避免这些被警告的用法,我们相信,恰当结合宏的使用能
够轻易避免这些用法。
剩下的`-W...'选项不包括在`-Wall'中,因为我们认为在必要情况下,这些被编译器警告 的程序结构,可
以合理的用在"干净的"程序中.
-Werror
视警告为错误;出现任何警告即放弃编译.
分享到:
相关推荐
2. **编译阶段**:在这个阶段,使用`-S`参数,GCC将预处理后的代码转换成汇编语言,生成`example.s`文件。 3. **汇编阶段**:`-c`参数用于将汇编代码转换为机器代码,生成目标文件`example.o`,这一步不涉及链接。 ...
gcc 常用参数详解 gcc 是 GNU 编译器集合中的 C 和 C++ 编译器,它提供了许多参数来控制编译过程。在本文中,我们将详细介绍 gcc 的一些常用参数。 -x language 该参数用于指定文件所使用的语言,使后缀名无效。...
为了更好地使用 arm-linux-gcc 编译器,需要了解其编译过程和常用参数。 arm-linux-gcc 编译过程分为四个阶段:预处理(Pre-Processing)、编译(Compiling)、汇编(Assembling)和链接(Linking)。在使用 GCC ...
### gcc常用参数详解 #### 一、编译过程概览 GCC(GNU Compiler Collection)是GNU项目的一部分,它提供了一套强大的工具集用于编译多种编程语言,其中最常用的是C语言编译器。GCC的编译过程可以分为四个主要阶段...
在日常开发中,我们常常会遇到一些常用的选项参数来控制GCC的行为,以下是一些关键参数的详细解释: 1. `-c`:这个选项告诉GCC仅编译源代码,生成相应的对象文件(.o文件),但不进行链接步骤。这对于构建大型项目...
### arm-linux-gcc 常用参数讲解 #### 概述 `arm-linux-gcc` 是一种用于开发针对 ARM 架构 Linux 平台应用程序的交叉编译器。本文档旨在详细阐述 `arm-linux-gcc` 的一些常用参数及其使用场景,帮助开发者更好地...
2. **常用参数**: - **-o**:指定输出文件名,例如`-o example`,默认输出为`a.out`。 - **-c**:仅进行预处理、编译和汇编,不链接,生成`.o`目标文件。 - **-S**:只进行预处理和编译,生成汇编代码文件`.s`。...
在实际工作中,掌握一些常用的GCC编译选项参数,能够极大地提高开发效率和代码质量。** ### **1. `-c` 参数** 该选项告诉GCC只编译源代码,不链接生成可执行文件。这通常用于预编译头文件或在大型项目中分步骤构建...
在GCC的优化参数方面,有以下几个常用的选项: - `-O0`:关闭优化,这对于调试代码非常有用。 - `-O1`,`-O2`,`-O3`:分别代表不同程度的优化,`-O3`是最高级别的优化,但可能会增加编译时间。 - `-Os`:优化代码...
### 常用参数讲解 gcc #### 概述 在Linux环境下,`gcc`(GNU Compiler Collection)作为一套广泛使用的编译工具集,为开发者提供了丰富的功能与灵活性。特别是对于那些需要跨平台编译的应用场景,`gcc`更是不可或...
手册是学习GCC的重要资源,其中详细解释了GCC的各种参数和选项,这些参数可以影响编译过程,如优化级别、错误警告、输出文件名、目标平台等。例如,"-O2"是常用的优化选项,用于提高代码运行效率;"-Wall"则会开启...
本文将深入探讨GCC/G++的常用命令及其应用。 1. **编译基本命令:**`gcc [选项] [源文件] -o [目标文件]` - `gcc`或`g++`是启动编译器的命令。 - `-o`参数指定输出的可执行文件名。 - 源文件是包含C或C++代码的`...
本文将详细介绍GCC中的部分常用参数及其用法。 #### 一、预处理与编译选项 1. **-x language filename** - **作用**:指定输入文件的类型。 - **解释**:此参数用于明确告诉GCC编译器输入文件的语言类型。如果...
本文将深入介绍GCC编译器的常用参数及其应用场景,并通过具体的示例帮助读者更好地理解和应用这些参数。 #### 编译过程 GCC执行编译工作时分为四个步骤: 1. **预处理**:使用预处理器cpp处理源文件,生成`.i`文件...
本文将深入探讨GCC的常用配置参数及其作用。 1. **-Wall**:开启所有警告。这是最常见的选项,它会显示大部分编译时可能遇到的问题,帮助开发者找出潜在的错误或不良实践。 2. **-Werror**:将所有警告视为错误。...
在Linux系统中,GCC是开发者常用的编译工具,它能将源代码转换成可执行程序。本文将详细介绍Linux环境下GCC编译器的基本使用及其参数。 当我们执行`gcc`或`g++`命令时,编译器会经历四个主要步骤: 1. **预处理**...
Linux GCC常用命令涵盖了GCC(GNU Compiler Collection)编译器的使用方法,它是编写和运行C、C++等语言程序的重要工具。GCC最初仅支持C语言编译,但随着发展,它已演化为一个强大的编译器集合,支持多种编程语言,...
本文将详细介绍 arm-linux-gcc 的常用命令参数,帮助开发者更好地理解和掌握该工具链。 #### GCC 编译流程 在了解 arm-linux-gcc 的命令参数之前,我们先简单回顾一下 GCC 的编译流程: 1. **预处理 (Pre-...
接下来详细介绍GCC的一些常用参数及其功能: 1. **-x language filename**: - 功能:指定文件使用的语言,覆盖文件扩展名所表示的语言信息。 - 示例:如果你的C语言源文件名为`example.pig`而非标准的`.c`,可以...