2012-09-25 25 views

回答

2

便攜式代碼很容易移動到其他平臺 - 無論是其他的編譯器或其他操作系統,以最小的,以促進遷移所需的更改的。

理想情況下,這是通過僅使用標準(類型,函數,在系統提供的頭文件中定義的定義來實現的,其他系統上的那些頭文件可能會被編譯器/ OS供應商修改爲正確的該系統)。

有時使用的標準是不夠的,需要使用(一般醜)的#ifdef灑在整個代碼。

我的陳述假設C/C++類似的語言。許多其他語言更具內在便攜性。

2

是什麼意思可移植性?

這意味着在某種程度上編碼的程序,以使相同的代碼工作在不同的環境;例如不同的處理器,不同的操作系統,不同版本的庫等

如果你的代碼是可移植的,你應該能夠只需重新編譯任何新的系統上,它應該運行沒有問題。

爲什麼很重要?

它的重要性之所以如此重要,是因爲非可移植代碼在維護方面可能會導致許多問題 - 管理多個版本,代碼的可讀性/可讀性較差。

5

便攜式代碼是不緊密耦合到一個特定的平臺,或者其被耦合作爲鬆散儘可能特定平臺的API的代碼。這是「便攜」的,因爲將它從一個平臺移動到另一個平臺所需的工作量很低。當你打算寫意味着廣大的觀衆一起使用,在各種各樣的平臺代碼

移植的代碼是可取的。

便攜性主要是在編譯語言關注的問題,如解釋型語言通常依賴於一個解釋器在運行時提供一個統一的接口。它仍然是相當可能依靠功能,如backticksexec在本地環境中執行命令,而不是通過其可以具有不同的特定於平臺的實現方式中,庫訪問相同的特徵寫過於特定於平臺的代碼中的解釋語言。作爲他們的主要目的是提供跨平臺一致的API

庫往往很關心的便攜性。

編寫移植代碼涉及到減少的名額代碼必須「達到下來」並碰觸底層操作系統標準API之外。通常情況下,您將封裝這樣的訪問權限,以便您的代碼庫中有一個位置,必須從平臺移植到平臺,而批量保持不變。