使用巨集定義如下:
//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以上 ...