This documentation is archived and is not being maintained.

/Wp64 (Detect 64-Bit Portability Issues)

Detects 64-bit portability problems on types that are also marked with the __w64 keyword.


By default, the /Wp64 compiler option is off in the Visual C++ 32-bit compiler and on in the Visual C++ 64-bit compiler.

Important noteImportant

The /Wp64 compiler option and __w64 keyword are deprecated in Visual Studio 2010. If you convert a project that uses this switch, the switch will not be migrated during conversion. To use this option in Visual Studio 2010, you must type the compiler switch under Additional Options in the Command Line section of the project properties. If you use the /Wp64 compiler option on the command line, the compiler issues Command-Line Warning D9035. Instead of using this option and keyword to detect 64-bit portability issues, use a Visual C++ compiler that targets a 64-bit platform. For more information, see 64-Bit Programming with Visual C++.

Variables of the following types are tested on a 32-bit operating system as if they were being used on a 64-bit operating system:

  • int

  • long

  • pointer

If you regularly compile your application by using a 64-bit compiler, you can just disable /Wp64 in your 32-bit compilations because the 64-bit compiler will detect all issues. For more information about how to target a Windows 64-bit operating system, see 64-Bit Programming with Visual C++.

To set this compiler option in the Visual Studio development environment

  1. Open the project Property Pages dialog box.

    For more information, see How to: Open Project Property Pages.

  2. Click the C/C++ folder.

  3. Click the Command Line property page.

  4. Modify the Additional Options box to include /Wp64.

To set this compiler option programmatically