zoukankan      html  css  js  c++  java
  • exploring_cpp(01)g++ 相关参数

    在读

    Exploring C++: The Programmer's Introduction to C++

    下面算半个读书笔记吧...

    关于g++的一些参数记录

    -pedantic
    Issue all the warnings demanded by strict ISO C and ISO C++; reject all programs that use forbidden
    extensions, and some other programs that do not follow ISO C and ISO C++. For ISO C, follows the
    version of the ISO C standard specified by any -std option used.

    Valid ISO C and ISO C++ programs should compile properly with or without this option (though a rare
    few will require -ansi or a -std option specifying the required version of ISO C). However, without
    this option, certain GNU extensions and traditional C and C++ features are supported as well. With
    this option, they are rejected.

    -pedantic does not cause warning messages for use of the alternate keywords whose names begin and end
    with __. Pedantic warnings are also disabled in the expression that follows "__extension__". How-
    ever, only system header files should use these escape routes; application programs should avoid
    them.

    Some users try to use -pedantic to check programs for strict ISO C conformance. They soon find that
    it does not do quite what they want: it finds some non-ISO practices, but not all---only those for
    which ISO C requires a diagnostic, and some others for which diagnostics have been added.

    A feature to report any failure to conform to ISO C might be useful in some instances, but would
    require considerable additional work and would be quite different from -pedantic. We don’t have
    plans to support such a feature in the near future.

    Where the standard specified with -std represents a GNU extended dialect of C, such as gnu89 or
    gnu99, there is a corresponding base standard, the version of ISO C on which the GNU extended dialect
    is based. Warnings from -pedantic are given where they are required by the base standard. (It would
    not make sense for such warnings to be given only for features not in the specified GNU C dialect,
    since by definition the GNU dialects of C include all features the compiler supports with the given
    option, and there would be nothing to warn about.)

    -ansi
    Specify the standard to which the code should conform. Currently CPP knows about C and C++ stan-
    dards; others may be added in the future.

    standard may be one of:

    "iso9899:1990"
    "c89"
    The ISO C standard from 1990. c89 is the customary shorthand for this version of the standard.

    The -ansi option is equivalent to -std=c89.

    "iso9899:199409"
    The 1990 C standard, as amended in 1994.

    "iso9899:1999"
    "c99"
    "iso9899:199x"
    "c9x"
    The revised ISO C standard, published in December 1999. Before publication, this was known as
    C9X.

    "gnu89"
    The 1990 C standard plus GNU extensions. This is the default.

    "gnu99"
    "gnu9x"
    The 1999 C standard plus GNU extensions.

    "c++98"
    The 1998 ISO C++ standard plus amendments.

    "gnu++98"
    The same as -std=c++98 plus GNU extensions. This is the default for C++ code.

  • 相关阅读:
    Linux2.6内核实现的是NPTL
    linux kernel thread(Daemons)
    linux 多线程 LinuxThreads(转)
    同步与互斥的区别和联系
    Linux下使用popen()执行shell命令
    HTML学习笔记
    C++ 编译器的函数名修饰规则
    普林斯顿公开课 算法1-2:观察
    问卷星调查学生对《算法》教学的建议与反馈
    Visual Studio 2013 与 14
  • 原文地址:https://www.cnblogs.com/vimmer/p/2527152.html
Copyright © 2011-2022 走看看