Для компилятора 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_
Для борланда:
#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;
}
Ну и наконец 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)