Is there a portable way to print a message from the C preprocessor?
I would like to be able to do something like
#print "C Preprocessor got here!"
for debugging purposes. What's the best / most portable way to do this?
Solution 1:
The warning
directive is probably the closest you'll get, but it's not entirely platform-independent:
#warning "C Preprocessor got here!"
AFAIK this works on most compilers except MSVC, on which you'll have to use a pragma
directive:
#pragma message ( "C Preprocessor got here!" )
Solution 2:
The following are supported by MSVC, and GCC.
#pragma message("stuff")
#pragma message "stuff"
Clang has begun adding support recently, see here for more.