开发者

C: Compiler info at runtime

Is there a way to print the name of the compiler and the version that was used to compile a program, something like;

printf("This is compiled wit开发者_高级运维h %s version %s\n", COMPILER, COMPILER_VERSION);

?


You can do this with the pre-processor:

Reference: http://predef.sourceforge.net/precomp.html

For gcc:

#if defined(__GNUC__)
# if defined(__GNUC_PATCHLEVEL__)
#  define __GNUC_VERSION__ (__GNUC__ * 10000 \
                            + __GNUC_MINOR__ * 100 \
                            + __GNUC_PATCHLEVEL__)
# else
#  define __GNUC_VERSION__ (__GNUC__ * 10000 \
                            + __GNUC_MINOR__ * 100)
# endif
#endif

For MSVC just use:

_MSC_FULL_VER


No, the way to get the name of the compiler is itself compiler-specific :-P.

gcc provides the __VERSION__ macro, though.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜