`

GCC中警告提示的功能的演示

阅读更多

  现在有这么一个不符合标准C的程序,我需要看看起警告提示功能

#include <stdio.h>

void main(void)
{
        long long int var = 1;
        printf("It is not standard C code\n");
}

 直接不提示警告信息的情况编译结果如下

[Xredman@localhost demo]$ gcc bad.c -o bad
bad.c: In function ‘main’:
bad.c:4: 警告:‘main’ 的返回类型不是 ‘int’

 这里仅仅是提示了main函数的返回直需要是int类型


-Wall选项(这是我在编译过程中必加的一个选项)

[Xredman@localhost demo]$ gcc -Wall bad.c -o bad
bad.c:4: 警告:‘main’ 的返回类型不是 ‘int’
bad.c: In function ‘main’:
bad.c:5: 警告:未使用的变量 ‘var’

 有了更加详细的警告提示,对于定义的变量未使用也作了提示

-pedantic选项

[Xredman@localhost demo]$ gcc -pedantic bad.c -o bad
bad.c: In function ‘main’:
bad.c:5: 警告:ISO C90 不支持 ‘long long’
bad.c:4: 警告:‘main’ 的返回类型不是 ‘int’

  提示了不被ANSI/ISO C所兼容的long long类型。说明了-pedantic选项可以帮助程序代码能加严格地往ANSI/ISO C标准靠近(当然还不能保证完全渐渐容)。

  -Werror选项

[Xredman@localhost demo]$ gcc -Werror bad.c -o bad
cc1: warnings being treated as errors
bad.c: In function ‘main’:
bad.c:4: 警告:‘main’ 的返回类型不是 ‘int’

 该选项将会把所有的警告当成错误来处理,可以想而知这个功能对于自动编译工具(make等)将会是非常是非常有效的。

分享到:
评论

相关推荐

    嵌入式Linux相关_GCC精彩之旅

    此时GCC会在出现第一个警告时停止编译过程,提示开发者必须修复这些潜在的问题。 #### 总结 GCC作为嵌入式Linux开发中的核心工具之一,对于提高代码质量和开发效率至关重要。通过对GCC各个阶段的理解及其提供的...

    《嵌入式操作系统》实验教学大纲:实验二-嵌入式Linux开发基础.doc

    实验中出现的警告信息(如"implicit declaration of function")提示了未声明的函数,这通常是头文件未正确包含导致的。 Makefile文件是自动化构建项目的重要工具,它定义了编译规则和依赖关系。实验中虽然没有具体...

    嵌入式实验报告1

    实验报告“嵌入式实验报告1”主要涵盖了在嵌入式系统中使用GCC编译C语言程序的基础知识和步骤。GCC(GNU Compiler Collection)是GNU项目的一部分,它是一套广泛用于开发C、C++和其他语言的编译器,对于嵌入式系统来...

    传智播客mysqlapi讲解

    此外,如果在使用指针时没有正确类型转换,将会得到警告信息,提示“初始化将指针赋给整数,未作类型转换”。对于这种情况,需要确保在赋值时指针和整数类型之间有适当的类型转换。在其他情况下,如果看到关于...

    ADS.rar_ads_ads学习视频_ads教程_arm ads tutorial_m33

    它支持C、C++以及Assemble编程语言,并且具有丰富的警告和错误信息提示功能。 - **调试器**:ADS的调试器是其核心部分,它允许开发者在源代码级别上进行调试,包括设置断点、单步执行、查看变量值等功能。这对于...

    __attribute__

    但是加上了这个属性之后,编译器会在 `test()` 函数中检测到两处错误,并发出警告提示。 #### 六、总结 通过本文的介绍,我们可以看到 `__attribute__` 机制在 C 语言中提供了一种强大的方式来增强代码的健壮性和可...

    c代码-污水处理demo

    在本项目中,"c代码-污水处理demo" 是一个基于C语言实现的示例程序,旨在演示如何模拟污水处理过程。这个简单的程序可能包含了基础的算法和数据结构,用于表示和处理污水净化的相关流程。让我们深入探讨一下这个项目...

Global site tag (gtag.js) - Google Analytics