2010-07-09 52 views

Trả lời

9

Bạn có thể làm điều này với các tiền xử lý:

tham khảo: http://predef.sourceforge.net/precomp.html

Đối với 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 

Đối với MSVC chỉ cần sử dụng:

_MSC_FULL_VER 
+0

+1: bạn đánh bại tôi quá;) –

+0

Err ... Nếu tôi sử dụng trình biên dịch của microsoft thì sao? – Arafangion

+0

_MSC_FULL_VER Hãy xem liên kết. Đó là một tham chiếu cho trình biên dịch tiền xử lý cụ thể định nghĩa. –

4

Không, cách lấy tên của trình biên dịch tự nó là trình biên dịch cụ thể :-P. Tuy nhiên,

gcc cung cấp macro __VERSION__.

Các vấn đề liên quan