1. /warn (Specify Warning Level)

/warn:option

where:

option

Warning level

Meaning

0

Turns off emission of all warning messages.

1

Displays severe warning messages.

2

Displays level 1 warnings plus certain, less-severe warnings, such as warnings about hiding class members.

3

Displays level 2 warnings plus certain, less-severe warnings, such as warnings about expressions that always evaluate to true or false.

4

Displays all level 3 warnings plus informational warnings. This is the default warning level at the command line.

Remarks

The /warn option specifies the warning level for the compiler to display.

The Build Errors documentation describes the warnings, indicates each warning's level, and indicates potential problems (rather than actual coding errors) with statements that may not compile as you intend.

Use /warnaserror to treat all warnings as errors. Use /nowarn to disable certain warnings.

/w is the short form of /warn.

To set this compiler option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Setting Visual C# Project Properties.
  2. Click the Configuration Properties folder.
  3. Click the Build property page.
  4. Modify the Warning Level property.

To set this compiler option programmatically

See WarningLevel Property.

Example

Compile in.cs and have the compiler only display level 1 warnings:

csc /warn:1 in.cs




2. /w, /Wn, /WX, /Wall, /wln, /wdn, /wen, /won (Warning Level)



最近总用到相关内容,整理了一下

Specify how the compiler generates warnings for a given compilation.

/w /Wn /WX /Wall /wln /wdn /wen /won

Remarks

The options and related arguments are described in the following table.

Option

Description

/w

Disables all compiler warnings.

/W n

Specifies the highest level of warning generated by the compiler. Valid warning levels for n

  • Level 0 disables all warnings.
  • Level 1 displays severe warnings. Level 1 is the default warning level at the command line.
  • Level 2 displays all level 1 warnings and warnings less severe than level 1.
  • Level 3 displays all level 2 warnings and all other warnings recommended for production purposes.
  • Level 4 displays all level 3 warnings plus informational warnings, which in most cases can be safely ignored. This option should be used only to provide "lint" level warnings and is not recommended as your usual warning level setting.

For a new project, it may be best to use /W4

/Wall

Enables all warnings, including those disabled by default. See Compiler Warnings That Are Off By Default.

/WX

Treats all compiler warnings as errors. For a new project, it may be best to use /WX in all compilations; resolving all warnings will ensure the fewest possible hard-to-find code defects.

The linker also has a /WX option; see /WX (Treat Linker Warnings as Errors) for more information.

/w ln

Specifies the level for a particular warning. The first parameter sets the warning level (same as /Wn) and the second parameter is the actual warning number.

For example, /w14326

/wd n

Disables the specified compiler warning where nis the compiler warning number.

For example, /wd4326

/we n

Treats the specific compiler warning as an error where n

For example, /we4326

/wo n

Reports the error only once where n

For example, /wo4326

If you create a precompiled header (/Yc (Create Precompiled Header File)) with one of the /w options, any use of the precompiled header (/Yu (Use Precompiled Header File)) will cause those same /w options to be in effect again. You can override the /w setting in the precompiled header with another /w option at the command line.

Pragma directives in source code are unaffected by the /w option.

You can also use warning to control the level of warning reported at compile time.

The C/C++ Build Errors describes the warnings, indicates each warning's level, and indicates potential problems (rather than actual coding errors) with statements that may not compile as you intend.

To set this compiler option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see How to: Open Project Property Pages.
  2. Click the C/C++
  3. Click the General property page and modify the Warning Level or Treat Warnings as Errors
  4. Click the Advanced property page and modify the Disable Specific Warnings
  5. For the remaining options, click the Command Line property page and type the compiler option in the Additional Options

To set this compiler option programmatically


3. Change new projects warning level in VS2008 (Express)


I don't know how to do it at the IDE but you cand always edit the new project templates at:

%PROGRAM_FILES%\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\

If you're using the express version there could be a minor variation in the path:

%PROGRAM_FILES%\Microsoft Visual Studio 9.0\Common7\IDE\{Version}\ProjectTemplates\


Where {Version} is the express flavor you are using, VCSExpress, VBExpress, etc.

The templates are zip files, just edit the project changing:

<WarningLevel>3</WarningLevel>

to

<WarningLevel>4</WarningLevel>