簡體   English   中英

是在Visual Studio 2010中成功編譯時可移植到Linux的c ++源代碼

[英]is c++ source code portable to linux when it successfully compiles within Visual Studio 2010

我想使用Visual Studio 2010來創建最終將在Linux上運行的C++ application

我應該注意哪些兼容性/版本問題? 我應該在WindowsLinux上使用哪種編譯器?

只要您使用標准 C ++並且沒有特定於平台的擴展,編譯器就不重要了。 如果您需要特定於系統的設施(網絡,文件系統......),請嘗試使用抽象層,例如boost

遺憾的是,您需要注意許多問題。 正如其他人所指出的,最重要的是,您只使用標准C ++以及任何可移植到您所定位的所有平台的庫。 但是還有很多其他東西要咬你,例如不同的行結尾(Windows使用\\ r \\ n,Unix變種通常使用\\ n),不同的數據類型大小等等。更常見的是當你試圖保持便攜性時,您還需要了解字節順序,字節順序,不同文件系統的工作方式等。

從本質上講,最重要的是熟悉您所針對的所有系統。 不要在一個系統上寫它,然后期望能夠在另一個系統上無痛地編譯它。 相反,從第一天開始在所有相關系統上編譯它,並確保它始終在所有相關系統上繼續工作。 我建議調查一個像CMake( http://www.cmake.org )這樣的跨平台構建系統 - 它將為您節省一個痛苦的世界。 如果可以提供幫助,您不希望一直在為多個平台保留makefile。

使用標准C ++。 盡量不要使用編譯器相關的功能,如__int64或平台特定的外部庫,你應該沒問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM