Click here to Skip to main content
Licence 
First Posted 22 Feb 2002
Views 75,420
Bookmarked 30 times

Message with style

Add this simple #define to add compiler messages with location to your source code

VC's #pragma message

Ever tried to add the line number of a compile time message to your source code?

#pragma message(__FILE__ __LINE__ ": important part to be changed!!"

Won't work. Anyway, with some tricks you can do exactly this. The nice thing is that you will never ever again need to use "Find" to locate a particular message in your source code. Just double click the line with your message in the output window and VC's editor will jump to that location.

Here is what you need to add to your source code to make this work:

#define __STR2__(x) #x
#define __STR1__(x) __STR2__(x)
#define __LOC__ __FILE__ "("__STR1__(__LINE__)") : Warning Msg: "
#define __LOC2__ __FILE__ "("__STR1__(__LINE__)") : "

Now you can use the #pragma message to add the location of the message:

#pragma message(__LOC__ "important part to be changed")
#pragma message(__LOC2__ "error C9901: wish that error would exist")

The preceding pragmas will yield the following output from the compiler (preprocessor)

C:\code\pragma\test.cpp(33) : Warning Msg: important part to be changed
c:\code\pragma\test.cpp(34) : error C9901: wish that error would exist

Have fun with your new #pragma's...

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Andreas Saurwein Franci Gonçalves

CEO
Uniwares Ltda.
Brazil Brazil

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 5 PinmemberThatsAlok23:26 1 Jan '12  
GeneralVery Useful! Pinmembermattski18:29 23 Apr '07  
Generalc# PinmemberSk8tz2:53 23 Apr '07  
AnswerRe: c# PinmemberAndreas Saurwein Franci Gonalves6:23 24 Apr '07  
GeneralTo display the warnings as warnings in the summary PinsussdEUs[CPP]11:40 9 Jun '03  
GeneralRe: To display the warnings as warnings in the summary PinmemberSaurweinAndreas21:22 9 Jun '03  
GeneralJust an Append PinmemberDiogo Quintela7:52 6 Dec '02  
GeneralRe: Just an Append PinmemberAndreas Saurwein12:54 6 Dec '02  
GeneralRe: Just an Append PinsussdEUs[CPP]23:30 7 Jun '03  
GeneralThanks! Very useful! PinmemberCathy10:42 10 Oct '02  
GeneralRe: Thanks! Very useful! PinmemberAndreas Saurwein12:55 10 Oct '02  
GeneralUseless Stuff PinsussGuest3:01 13 Aug '02  
GeneralRe: Useless Stuff PinmemberBamaco29:31 4 Jun '04  
GeneralRe: Useless Stuff Pinmembertroff21:36 8 Jan '05  
GeneralRe: Useless Stuff PinmemberBamaco222:33 8 Jan '05  
GeneralWhats this Junk PinsussGuest2:58 13 Aug '02  
GeneralRe: Whats this Junk PinsussAnonymous3:47 25 Oct '02  
GeneralRe: Whats this Junk PinsussAnonymous3:31 13 Aug '02  
GeneralRe: Whats this Junk Pinmemberpetervn14:08 8 Mar '06  
GeneralRe: Whats this Junk PinmemberThatsAlok23:25 1 Jan '12  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120517.1 | Last Updated 23 Feb 2002
Article Copyright 2002 by Andreas Saurwein Franci Gonçalves
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid