在64位的linux上執行32位的程式

2022-05-05 22:36:17 字數 678 閱讀 7398

1.症狀

(2)ldd bin檔案  的輸出為:

not a dynamic executable

(3)file bin檔案 的輸出顯示程式是32位

2.解決

debian上只要安裝 ia32-libs這個包(apt-get install ia32-libs)就可以了。

$ sudo apt-get install ia32-libs

正在讀取軟體包列表... 完成

正在分析軟體包的依賴關係樹       

正在讀取狀態資訊... 完成       

有一些軟體包無法被安裝。如果您用的是 unstable 發行版,這也許是

因為系統無法達到您要求的狀態造成的。該版本中可能會有一些您需要的軟體

包尚未被建立或是它們已被從新到(incoming)目錄移出。

下列資訊可能會對解決問題有所幫助:

下列軟體包有未滿足的依賴關係:

ia32-libs : 依賴: ia32-libs-i386 但無法安裝它

e: 無法修正錯誤,因為您要求某些軟體包保持現狀,就是它們破壞了軟體包間的依賴關係。

$ sudo dpkg --add-architecture i386

$ sudo apt-get update

$ sudo apt-get install ia32-libs

sizeof在32位和64位機器上的執行結果

今早在網上偶然看到一篇文章 32位程式移植到64位平台前的準備工作 文中介紹了32位平台的程式向64位平台進行移植需要注意的一些事項和操作建議。自己對於64位平台上各種資料型別分別占用多少位元組,存在一些疑問,所以用c c 中的sizeof分別在這兩種平台上進行了測試。執行結果如下 分別用藍色和紅色...

64位linux上支援執行32位程式的方法

在64位的linux上執行32位程式的時候會出現這種情況 2 ldd bin檔案 的輸出為 not a dynamic executable 3 file bin檔案 的輸出顯示程式是32位 2.解決方法 debian上只要安裝 ia32 libs這個包 apt get install ia32 l...

在64位Windows的IIS上開啟32位程式支援

經常碰到32位的dll什麼的不能在64位windows的iis上呼叫,在網上找到這篇文章也許能夠解決很多問題。總的思路就是先允許iis支援32位程式,然後再用.net framework註冊iis。this article 1.enable iis s 32 bit support open a c...