1. 程式人生 > >C++:編寫跨平臺程式的關鍵,C/C++中的內建巨集定義

C++:編寫跨平臺程式的關鍵,C/C++中的內建巨集定義

得到的答案 都不好。為什麼,因為他們都不知道原理。其實原理很簡單,編譯器 引數或Makefile添加了巨集定義,你才可以這樣去判斷。

比如編譯器設定了巨集 is_windows,你才能去用。不設定沒法用。

但是,我敢肯定各種編譯器 內建一些巨集,比如 MS VC的cl.exe ,LINUX的GNU gcc,在各個平臺都會有不同的內建巨集的。

 

所以 如果我搜索 "各個編譯器 內建巨集 作業系統" 少量的答案中 有一個 :


C++:編寫跨平臺程式的關鍵,C/C++中的內建巨集定義
分兩部分:

作業系統判定:

Windows:   WIN32

Linux:   linux

Solaris:   __sun

編譯器判定:

VC:  _MSC_VER

GCC/G++:   __GNUC__

SunCC:   __SUNPRO_C和__SUNPRO_CC