是Windows便攜可執行文件是不同機器體系真正的便攜式?如果是這樣如何工作?如果沒有,那麼「便攜式可執行文件」是指什麼或可執行文件的哪一部分是便攜式的?如何Windows便攜可執行文件是整個計算機體系結構便攜式
謝謝,Siva Chandran
是Windows便攜可執行文件是不同機器體系真正的便攜式?如果是這樣如何工作?如果沒有,那麼「便攜式可執行文件」是指什麼或可執行文件的哪一部分是便攜式的?如何Windows便攜可執行文件是整個計算機體系結構便攜式
謝謝,Siva Chandran
可執行文件本身並不便攜。 PE格式是「可移植的」,因爲不同體系結構的可執行文件使用相同的PE格式,但PE文件中的可執行代碼特定於單個處理器體系結構。
在實踐中,這意味着有很多相同的編譯器和鏈接器的代碼可以爲不同的架構被重用,並且對於檢查可執行文件(在某種程度上)工作的「洋」的可執行文件的工具。
(我說的是本地的可執行文件在這裏 - .NET組件也採用PE格式,可以是真正的便攜。)
維基百科: 「術語‘便攜式’是指在衆多環境格式的通用性的操作系統軟件架構。「
那麼,它是在該格式可用於在各種平臺(SkyOS用它他們切換到ELF之前)可執行裝置的便攜式。它不能通過獨立於平臺的代碼進行移植,或者如果您在一個操作系統上生成一個PE文件,並在另一個操作系統上運行。
PE-文件是二進制應用程序數據只是容器。它們允許針對不同的CPU架構(或者甚至像.Net這樣的非CPU軟件架構)。這就是爲什麼他們被稱爲「便攜式」。
它們包含每個二進制應用程序圖像,然而適合於恰好一個體繫結構。