這篇文章是我翻譯自Top 10 tips for code porting c/c++的一篇小短文,以下是翻譯全文,如有錯誤請留言或查閱原文。
代碼的可移植性基本上是指使得源代碼能夠在不同的平台上編譯,而不需要源代碼進行任何修改。
在腦海里我們知道為保持移植性而編寫代碼對是重要的。引入代碼可移植性的最好方法就是在編碼階段。時時考慮一些事情會使我們實現代碼的可移植性付出較少的努力,這也是我們在這篇短文里會討論的。
不可移植的代碼引入了一些問題,如維護不同的版本,降低了可讀性,降低了代碼的可理解性等等。
使遺留下來的或者老的代碼具有可移植性的努力,會讓你感覺遺失在代碼海洋里。因此,在編寫代碼中最好的策略是時刻考慮移植性問題,這樣可以節省大量的時間和返工的努力。現在最大的問題是——“如何編寫可移植的代碼?”。我們的源代碼應該在不同的環境,如不同的處理器,不同的操作系統,不同的版本庫等情況下保持兼容性。在這篇文章中,我們將介紹在寫代碼過程中應該牢記腦海的一些基本技巧。
- 不要假設數據類型的大小是跨平台的常數,因為它可能會在不同平台上有所改變
- 不要使用特有的系統常數
- 系統的文件/文件夾路徑表示在不同平台上可能會有所不同
- 避免使用系統的特有模塊/庫
- 總是在switch塊中寫default語句分支
- 總是為函數定義返回類型
- 總是為static變量指定數據類型
- 始終關心變量的作用域
- 不要在C代碼中使用C + +的注釋風格
- 注意頭文件的包含深度和代碼文件的大小
我盡力介紹適合初學者的關於代碼移植的這10個基本技巧,雖然仍有別的一些方面需要注意,那些我們需要關心的更深層的可移植問題,如類的處理,虛函數,異常處理,編譯器指令,運行時識別等。
希望你喜歡這篇短文!