std, Qstd

Tells the compiler to conform to a specific language standard.

IDE Equivalent

Windows: Language > Enable C++0x Support

Language > Enable C99 Support

Linux: Language > ANSI Conformance

Mac OS X: Language > C ANSI Conformance

Architectures

IA-32, Intel® 64, IA-64 architectures

Syntax

Linux and Mac OS X:

-std=val

Windows:

/Qstd=val

Arguments

val

Possible values are:

c89

Conforms to the ISO/IEC 9899:1990 International Standard.

c99

Conforms to The ISO/IEC 9899:1999 International Standard.

gnu89

Conforms to ISO C90 plus GNU* extensions.

gnu++98

Conforms to the 1998 ISO C++ standard plus GNU extensions.

c++0x

Enable support for the following C++0x features:

  • Empty macro arguments

  • Variadic macros

  • Type long long

  • Trailing comma in enum definition

  • Concatenation of mixed-width string literals

  • Extended friend declarations

  • Use of ">>" to close two template argument lists

  • Relaxed rules for use of "typename"

  • Relaxed rules for disambiguation using the "template" keyword

  • Copy constructor does not need to be callable on direct reference

  • Binding to class rvalue

  • "extern template" to suppress instantiation of an entity

  • "auto" type specifier

  • decltype operator

  • static_assert

  • compliant __func__

  • lambda expressions

Default

-std=gnu89 (default for C)

Conforms to ISO C90 plus GNU extensions.

-std=gnu++98 (default for C++)

Conforms to the 1998 ISO C++ standard plus GNU* extensions.

/Qstd=c89

Conforms to the ISO/IEC 9899:1990 International Standard.

Description

Tells the compiler to conform to a specific language standard.

Alternate Options

None