C++的可移植性和跨平台開發[1]:編譯器

來源:互聯網
上載者:User

在跨平台的開發過程中,很多問題都和編譯器有關。因此我們先來聊聊編譯器相關的問題 。

★編譯器的選擇

首先,GCC是優先要考慮支援的,因為幾乎所有作業系統平台都有GCC可用。它基本上成了 一個通用的編譯器了。如果你的代碼在A平台的GCC能夠編譯通過,之後拿到B平台用類似版本 的GCC編譯,一般也不會有太大問題。因此GCC是肯定要考慮支援的。

其次,要考慮是否支援本地編譯器。所謂本地編譯器就是作業系統廠商自產的編譯器。例 如相對於Windows的本地編譯器就是Visual C++。相對於Solaris的本地編譯器就是SUN的CC。 如果你對效能比較敏感或者想用到某些本地編譯器的進階功能,可能就得考慮在支援GCC的同 時也支援本地編譯器。

★編譯警告

編譯器是程式員的朋友,很多潛在的問題(包括可移植性),編譯器都是可以發現並給出 警告的,如果你平時注意這些警告資訊,可以減少很多麻煩。因此我強烈建議:1把編譯器的 警告層級調高;2不要輕易忽略編譯器的警告資訊。

★交叉編譯器

交叉編譯器的定義參見“維基百科”。通俗地說,就是在A平台上編譯出運行 在B平台上的二進位程式。假設你要開發的應用是運行在Solaris上,但是你手頭沒有能夠運 行Solaris的SPARC機器,這時候交叉編譯器就可以派上用場了。一般情況下都使用GCC來製作 一個交叉編譯器,限於篇幅,這裡就不深入聊了。有興趣的同學可以參見"這裡" 。

關於編譯器的話題,暫時聊到這,後面聊聊關於“文法”的問題。

原始地址:http://program-think.blogspot.com/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.