Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer


Sends a string literal to the standard output without terminating the compilation.

#pragma message( messagestring )

A typical use of the message pragma is to display informational messages at compile time.

The messagestring parameter can be a macro that expands to a string literal, and you can concatenate such macros with string literals in any combination.

If you use a predefined macro in the message pragma, the macro should return a string, else you will have to convert the output of the macro to a string.

The following code fragment uses the message pragma to display messages during compilation:

// pragma_directives_message1.cpp
// compile with: /LD
#if _M_IX86 >= 500
#pragma message("_M_IX86 >= 500")

#pragma message("")

#pragma message( "Compiling " __FILE__ ) 
#pragma message( "Last modified on " __TIMESTAMP__ )

#pragma message("")

// with line number
#define STRING2(x) #x
#define STRING(x) STRING2(x)

#pragma message (__FILE__ "[" STRING(__LINE__) "]: test")

#pragma message("")
© 2016 Microsoft