(转载)<编译>条件编译——判断当前使用的编译器及操作系统

原文地址:https://www.cnblogs.com/foundkey/p/5970109.html
有时候编译需要多平台运行的代码,需要一些条件编译,经常忘记,这里专门记录一下,方便下次查找。

编译器
GCC

#ifdef GNUC

#if GNUC >= 3 // GCC3.0以上

Visual C++

#ifdef _MSC_VER

#if _MSC_VER >=1000 // VC++4.0以上

#if _MSC_VER >=1100 // VC++5.0以上

#if _MSC_VER >=1200 // VC++6.0以上

#if _MSC_VER >=1300 // VC2003以上

#if _MSC_VER >=1400 // VC2005以上

Borland C++

#ifdef BORLANDC

Cygwin

#ifdef CYGWIN

#ifdef CYGWIN32 //

MinGW

#ifdef MINGW32

操作系统
Windows

#ifdef _WIN32 //32bit

#ifdef _WIN64 //64bit

#ifdef _WINDOWS //图形界面程序

#ifdef _CONSOLE //控制台程序
//Windows(95/98/Me/NT/2000/XP/Vista)和Windows CE都定义了

#if (WINVER >= 0x030a) // Windows 3.1以上

#if (WINVER >= 0x0400) // Windows 95/NT4.0以上

#if (WINVER >= 0x0410) // Windows 98以上

#if (WINVER >= 0x0500) // Windows Me/2000以上

#if (WINVER >= 0x0501) // Windows XP以上

#if (WINVER >= 0x0600) // Windows Vista以上
//_WIN32_WINNT 内核版本

#if (_WIN32_WINNT >= 0x0500) // Windows 2000以上

#if (_WIN32_WINNT >= 0x0501) // Windows XP以上

#if (_WIN32_WINNT >= 0x0600) // Windows Vista以上

UNIX

#ifdef __unix
//or

#ifdef unix

Linux

#ifdef __linux
//or

#ifdef linux

FreeBSD

#ifdef FreeBSD

NetBSD

#ifdef NetBSD

Qt特有

定义了QOS和QWS系列用于判断操作系统。QCC*系列判断编译器。
具体的可以在Qt Assistant里索引qtglobal.h查看。

多谢打赏
-------------本文结束感谢您的阅读-------------
0%