我在Solaris中有一些32位的庫文件(.a文件)。我將我的應用程序移植到64位Linux環境中。有什麼辦法將32位庫轉換爲64位,或者我應該重新生成64位的庫嗎?我們可以將32位庫文件轉換爲64位庫文件嗎?
1
A
回答
2
不;您必須重新編譯爲64位,因爲在編譯過程中會丟失大量必要的信息。
祝你好運。
3
這不僅僅是一個32位和64位的問題。這也是Solaris與Linux的問題。這些是具有不同調用約定和不同ABI的兩個操作系統。這意味着像數據類型的大小可能不同,編譯器將寄存器和堆棧中的東西放到函數調用中的方式不同,系統調用的方式不同,等等。
這可能在某些情況下可以按照你想要的方式轉換靜態庫,但是你需要自己編寫這些工具。從源代碼編譯更容易,更可靠,而且無論如何你都需要做的事情(否則你不能輕易修復庫中的問題,例如安全問題)。
相關問題
- 1. 如何將64位.deb文件轉換爲32位.deb文件
- 2. 將32位.def文件轉換爲64位
- 3. 32位* .ocx文件將IDL文件轉換爲* _h.h和* _i.c文件轉換爲64位* .ocx文件
- 4. Qt 64位可以生成32位可執行文件嗎?
- 5. 可以使用64位Java庫執行32位導出的jar文件嗎?
- 6. 我可以在64位版本中使用32位庫嗎?
- 7. 如何將一個64位的rpm文件轉換爲32位的rpm文件
- 8. 將Windows驅動程序轉換爲64位 - 我可以使用32位DLL嗎?
- 9. 確定可執行文件(或庫)是32位還是64位
- 10. 將32位轉換爲64位
- 11. 將32位PNG文件轉換爲24位PNG文件
- 12. 將64位解碼的文件轉換爲32位並將其改寫爲C#
- 13. 我可以將64位SQL Server作爲32位運行嗎?
- 14. 爲32位和64位構建文件
- 15. 我可以將本地庫的32位和64位版本放在java.library.path上嗎?
- 16. 將32位編譯後的開源庫轉換爲64位編譯庫
- 17. 64位python可以創建32位Windows可執行文件
- 18. Gluegen 32位和64位庫
- 19. 將VC++解決方案和項目文件從32位轉換爲64位
- 20. 如何編譯與32位庫鏈接的64位文件
- 21. 將SteamID轉換爲32/64位SteamID Swift
- 22. Nexus/Maven可以同時存儲32位和64位工件嗎?
- 23. 無法在32位JVM上加載64位SWT庫(替換SWT文件)
- 24. 確定可執行文件(或庫)是32位還是64位(在Windows上)
- 25. OpenGL的C++:如何將32位png文件轉換爲16位565RGB文件
- 26. 我可以使用32位mysql客戶端庫從32位機器連接到64位mysql服務器嗎?
- 27. 如果我們可以在64位Windows上運行32位可執行文件,爲什麼我們不能轉換它?
- 28. 我可以部署到Lion 64位和Snow Leopard 32位嗎?
- 29. 我可以在32位機器上運行64位dll嗎?
- 30. 我可以在64位python中使用32位dll或exe嗎?
非常感謝! – Tinyspark