Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ С\С++ _ Как узнать версию компилятора в runtime

Автор: Andrew Selivanov 24.12.2007, 11:51

Для компилятора GCC существуют макросы:

__GNUC__
__GNUC_MINOR__
__GNUC_PATCHLEVEL__

/* Test for GCC > 3.2.0 */
          #if __GNUC__ > 3 || \
              (__GNUC__ == 3 && (__GNUC_MINOR__ > 2 || \
                                 (__GNUC_MINOR__ == 2 && \
                                  __GNUC_PATCHLEVEL_


Ссылки по теме:
http://jazzy.wordpress.com/2006/06/20/how-to-get-gcc-version-on-compile-time/

Автор: Tonal 24.12.2007, 21:19

Для борланда:

#include <iostream>
#include <iomanip>

int main() {
  std::cout<<"#define __BCPLUSPLUS__ 0x"<<std::hex<<__BCPLUSPLUS__<<std::endl;
  std::cout<<"#define __TCPLUSPLUS__ 0x"<<std::hex<<__TCPLUSPLUS__<<std::endl;
  std::cout<<"#define __BORLANDC__   0x"<<std::hex<<__BORLANDC__<<std::endl;
  std::cout<<"#define __TURBOC__     0x"<<std::hex<<__TURBOC__<<std::endl;
  return 0;
}

Автор: Andrew Selivanov 25.12.2007, 11:10

Ну и наконец Microsoft Visual C++

#if     _MSC_VER > 1200
//MSVC 6.0
#endif

#if     _MSC_VER > 1300
//MSVC 7.0 (.NET 2002)
#endif

#if     _MSC_VER > 1310
//MSVC 7.1 (.NET 2003)
#endif

#if     _MSC_VER > 1400
//MSVC 8.0 (2005)
#endif

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)