2015-03-03 96 views
0

所有生成的二進制文件似乎只取決於操作系統,而不取決於硬件。C++編譯爲便攜式程序集?

我認爲每個CPU的程序集是不同的,這意味着你必須編譯每個不同的CPU類型。

那麼爲什麼會有兼容性?

+5

是什麼讓你認爲它不依賴於CPU? – Barmar 2015-03-03 04:19:41

+0

C++不能編譯成'便攜式程序集',實際上'便攜式程序集'是一個矛盾的術語。如果這不是你的問題的答案,請澄清你的問題實際上是什麼。 – EJP 2015-03-03 04:35:56

+0

Windows和Mac過去試圖隱藏CPU差異,但今天這一點不太重要。 – MSalters 2015-03-03 08:13:05

回答

2

你的問題似乎完全不清楚:(交叉)編譯的二進制文件當然是OS /機器相關的。

「那麼爲什麼會有兼容性?」

在便攜式語言水平(普通標準C++函數和類),你可以編譯你的代碼在不同的OS /機器架構上。

這並不意味着您可以將針對特定操作系統/機器環境編譯的工件複製到另一個工作站,而無需從源代碼重新編譯(或使用交叉編譯器)。