C 條件編譯來判斷所處環境

2021-10-09 16:19:33 字數 1000 閱讀 6372

c語言中條件編譯 如:

#define、#undef : 定義巨集、取消巨集

#ifdef、#ifndef、#if、#elif、#else、#endif、defined

#if 可以用來判斷條件

#defined 與#if、 #elif聯合判斷 == #ifdef

判斷所處環境:

作業系統判定:

#if defined win32 || defined _win32  // windows os

#elif linux // linux os

#elif __sun // solaris os

#else

#endif

win32/_win32 可以用來判斷是否 windows 系統(對於跨平台程式)

_win64 用來判斷編譯環境是 x86(32位) 還是 x64(64位)

在 win32 配置下,_win32 有定義,_win64 沒有定義。

在 x64 配置下,_win32 和_win64 都有定義。

2. 編譯器判定:

編譯條件判斷

有時候編譯需要多平台執行的 需要一些條件編譯,經常忘記,這裡專門記錄一下,方便下次查詢。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以上...

編譯環境判斷

iphone os version max allowed編譯環境判斷,判斷當前開發時使用的sdk的版本。if iphone os version max allowed 50000 所使用的sdk為5.0以上的版本,在此的 在編譯時不會儲存,但是允許在低版本ios系統的裝置上執行就會崩潰的 例如 ...

C 通過條件編譯來控制不同版本

最近公司開發的專案,分開的版本太多,但是又不是聯網版本,也就沒有登入,不能通過使用者登入來控制相關功能。比如a局有個改動要求,b局有個改動要求,但是,又是同時修改的乙個m檔案,原來的做法是,把m檔案複製一下,分別給a局和b局修改,但是這種方法有個很大的問題,就是修改公共的部分 就需要double一下...