使用巨集定義判斷編譯器型別 版本 作業系統

2021-10-21 14:02:20 字數 1628 閱讀 8424

使用巨集定義如下:

//gcc編譯器

#ifdef __gnuc__

#if __gnuc__ >= 3

// gcc3.0以上

//msvc編譯器

#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以上

#if _msc_ver >=1500

// vc2008以上

#if _msc_ver >=1600

// vc2010以上

#if _msc_ver >=1700

// vc2012以上

#if _msc_ver >=1800

// vc2013以上

#if _msc_ver >=1900

// vc2015以上

//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以上

C C 編譯器預定巨集使用

在c c 編譯器中,會有編譯器級別的預定義巨集,file line function date time 等。下面來一一介紹這幾個巨集的含義 file 當前檔案的檔名,linux下gcc只有檔名,而在windows下gcc會包含完整的路徑,可通過編譯選項設定為只有檔名 line 當前行號 funct...

gcc編譯器,加 D選項,編譯時新增巨集定義

gcc使用 d選項,在編譯時會在可執行檔案中新增巨集定義。相當於新增了全域性巨集 d 引數在實際開發中還是經常使用的,比如可通過定義不同的巨集,實現選擇性編譯,編譯時定義不同的巨集就編譯相對應的 例 test.c include int main void 1.編譯時不新增任何巨集 root qiu...

編譯器,CPU和作業系統的巨集

編譯器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以上 ...