c语言常用的条件编译,C语言条件编译

使用与平台有关的C语言函数,可能会使得程序不具有可移植性。比如Socket编程、多线程编程等是与平台有关的。

若想将程序做成平台无关的就需要用到与平台相关的条件编译。

编译器

GCC

#ifdef __GNUC__

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

Visual C++

#ifdef _MSC_VER(非VC编译器很多地方也有定义)

#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__

UNIX

UNIX

#ifdef __unix

or

#ifdef __unix__

Linux

#ifdef __linux

or

#ifdef __linux__

FreeBSD

#ifdef __FreeBSD__

NetBSD

#ifdef __NetBSD__

Windows

32bit

#ifdef _WIN32(或者WIN32)

64bit

#ifdef _WIN64

GUI  App

#ifdef _WINDOWS

CUI  App

#ifdef _CONSOLE

Windows的Ver … WINVER

※ PC机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 >= 0x041

你可能感兴趣的:(c语言常用的条件编译)