我想創建我的源代碼的二進制可執行文件在32位gcc機器上運行。但我有64位gcc安裝。有沒有什麼辦法從我的64位gcc創建一個32位gcc機器的二進制可執行文件?如何從我的64位gcc機器爲32位gcc機器創建二進制可執行文件?
0
A
回答
1
我的機器是ELF 64位LSB在默認情況下,如果ü編譯它會產生你64位可執行
gcc hello.c -o hello
。
使用文件檢查它
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=9f8fa8ac13fc03672306da1d5d4ee6671114eb11, not stripped
使用標誌-m32那麼你強迫你的編譯器爲32位
gcc -m32 hello.c -o hello
file hello
hello : ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=c72216023939b2832467c624850f164d1857e645, not stripped
如果您尋找交叉編譯這可能幫助üHow to determine host value for configure when using cross compiler
1
您需要讓GCC使用-m32標誌。
你可以嘗試編寫一個簡單的shell腳本到你的$ PATH並調用它gcc(確保你不覆蓋原始的gcc,並確保新腳本在$ PATH中提前發佈,並且它使用完整。路徑GCC
編譯的二進制像 - :
/bin/gcc -m32 "source file"
相關問題
- 1. gcc:在32位平臺上編譯64位二進制文件
- 2. 從32位切換到64位後GCC錯誤機器
- 3. 在64位機器上運行32位二進制
- 4. 使用64位構建32位llvm-gcc
- 5. 什麼告訴32位GCC在64位系統上,使64位二進制
- 6. 在64位Linux機器上在gcc中創建'long'4字節
- 7. 使用gcc處理32位機器上的大文件
- 8. 64位python可以創建32位Windows可執行文件
- 9. 32位內核如何運行64位二進制文件?
- 10. 32或64位機器
- 11. 在64位CentOS上爲ARM構建32位二進制文件
- 12. 我可以在32位機器上運行64位dll嗎?
- 13. 從64位機器上的python代碼創建32位exe文件
- 14. 從32位機器移植opencv項目到64位機器
- 15. asp.net中的64位和32位機器
- 16. 需要在32位長的機器上執行64位乘法
- 17. GlassFish負載平衡器配置器插件在32位機器上安裝64位二進制文件
- 18. 在64位機器上生成32位
- 19. 在64位機器創建32位了JavaFx本地捆綁
- 20. 爲什麼我的PowerShell主機在64位機器上以32位運行?
- 21. 如何運行64位機器上的32位API?
- 22. 在64位linux armv8機器上編譯32位二進制時遇到問題
- 23. 如何在64位linux機器上運行32位matlab?
- 24. 如何從32位機器發佈到64位目標?
- 25. MinGW GCC - 單個32位和64位交叉編譯器?
- 26. 64位在32位機器上運行的組件COM +導出
- 27. 遷移C++代碼32位機器到64位機器
- 28. 64位機器上的SQL Server 2012 32位或64位?
- 29. Conda在64位機器上構建32位軟件包
- 30. 。用於32位和64位機器的刷新文件路徑
你介意以一種清楚的方式解釋它 – Nazeem
@Nazeem我認爲你在問shell腳本行,這裏我的意思是如果你有gcc編譯器的32位t如果你可以用像交叉編譯器那樣編譯你的程序。希望你明白我的觀點。 –
https://gcc.gnu.org/ml/gcc-help/2010-09/msg00040.html此鏈接可以幫助你。 –