1.編譯壹次,隨處運行,比如java和flash,因為運行在虛擬機上。
2.壹次編碼,隨處編譯,不用修改代碼就可以在各種平臺上編譯。當然,標準的C++代碼是沒有問題的。如果需要使用接口、線程、消息等功能。您必須使用與平臺相關的代碼。這時候可以選擇據說兼容的第三方庫,比如Qt,sdl等等。
所以就C++語言本身來說,可以說是跨平臺的,因為每個平臺都有壹個標準的C++編譯器。
因為標準C++庫提供的API遠不如java平臺的標準庫豐富,所以用C++開發完全依賴於相應平臺的系統API。
如果要寫跨平臺的C++代碼,那麽程序員需要做壹個API抽象層,比如:
#ifdef _WINDOWS
#define funcA() win_funcA()
#endif
#ifdef _LINUX
#define funcA() linux_funcA()
#endif
//win_funcA()和linux_funcA()是對應的系統API,在兩個不同的平臺上做同樣的事情。
//或者說復雜的是宏被定義代替了。