如上使用C4這個小工具時遇到來需要仿真32位系統的需求,發現使用-m32參數后,編譯提示錯誤,如下:
/usr/bin/ld: 未知的仿真模式: 32 支持的仿真: elf_x86_64 elf32_x86_64 elf_i386 i386linux elf_l1om elf_k1om i386pep i386pe collect2: error: ld returned 1 exit status
首先要打開64位系統對32位的支持
第一步:確認64為架構的內核
dpkg --print-architecture
輸出:
adm64
說明已擁有64位架構內核。
第二步:確認打開了多架構支持功能
dpkg --print-foreign-architectures
輸出:
i386
說明已打開,如果沒有需要手動打開
打開多架構支持
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get dist-upgrade
如此這般你就擁有了64位系統對32位的支持
其次是安裝gcc multilab
apt-get install gcc-multilib g++-multilib