為什麼 64 位作業系統的庫目錄要和 32 位不同?

時間 2021-05-31 06:33:28

1樓:

因為你看到的「64位系統」並不是pure 64位的,為了相容32位的系統是需要做區分的。

至於為什麼要這樣分,我只能說這樣簡單。

因為,就目前情況下,絕大多數軟體還是跑在32位下,所以將64位的lib叫做lib64,而32位的不變,仍然叫lib,這樣能最大程度上減少潛在的問題。

2樓:pansz

感覺樓主沒抓到重點,其實你的問題要分幾個問題。

1,為什麼你的系統中有 lib64 這個目錄?

2,為什麼編譯的時候你的 mysql 找不到?

關於第乙個問題,實際上系統中有 /lib, /lib32, /lib64 三個目錄,而 lib64 實際上就是指向 lib 的符號連線,故而在 64 位系統中, /lib 仍然是預設。並無變化。

關於第二個問題,為什麼找不到?這個與 Linux 無關,是你的發行版的問題。因為 Linux 本身是自由的,每個發行版自然就對自己的價值取向有著不同的選擇。

——什麼,你的系統中 lib64 跟 lib 不是完全相同的目錄?這個,請譴責你的發行版,或者換乙個更靠譜的發行版吧。

另外說一下,64 位單獨目錄其實是為了在同乙個架構下相容多個版本用的。因為 64 位系統可以執行 32 位應用程式,32 位應用程式就需要去找 lib32 相關的目錄。——當年之所以存在 system32 ,也是因為 Windows 想要在「同乙個系統」中同時相容 32 位應用程式與 16 位應用程式。

——如果你的系統只相容一種應用,就不需要區分,如果需要相容多種,就得區分。

順便說一下,當你拿不定主意選擇什麼發行版的時候,通常 debian 不會是個很糟糕的選擇。

電腦顯示是64位作業系統可是安裝不了64位的軟體,如何處理?

初生之鳥 ARM64的Windows只支援以下架構的程式 32位x86 一般指的32位程式多是這個需要經過x86二進位制翻譯器效能比較差 32位ARM 現在能找到的多是幾年前為越獄Windows RT裝置移植的程式很多都能直接在上面執行 大部分UWP也會是32位ARM 64位ARM 現在很多軟體都在...

64位作業系統跟32位比有什麼區別?

普通IT技術人員 說作業系統32 64位的區別,就不得不說,cpu硬體的位數區別,主要是硬體工藝的問題。32位CPU指的是該CPU在單位時間內能一次處理的二進位制數的位數為32位 64位CPU指的是該CPU在單位時間內能一次處理的二進位制數的位數為64位 而作業系統位數是針對cpu的位數而開發出來的...

64位作業系統 CPU 如何相容32位程式 軟體 請看詳情。?

北極 要保證64位相容性,無非就是兩點 1.硬體相容 指令層面上 2.軟體相容 作業系統 因為以上兩點都能保證,所以自然32位程式能在相容32位程式的作業系統 CPU上跑。具體的形式 1.硬體相容 現有的x86架構的CPU,作業系統進入64位的工作模式都是相容32位的,即使在long mode模式下...