我目前不得不將用C編寫的Windows系統(和MinGW編譯器)項目改寫爲Linux系統。 我已閱讀有關交叉編譯,但它似乎沒有足夠的幫助我的情況,因爲我正在使用64位Windows機器,而我的Linux系統是32位。 另外,我在我的項目中有很多DLL調用,因爲這些DLL不一定在Linux上存在,所以會造成麻煩。 我想知道是否有人在StackOverlfow社區知道我如何解決(或至少緩解)我的問題。 預先感謝您將Windows項目調整到Linux系統
0
A
回答
3
如果您嘗試將Windows設備驅動程序移植到Linux,那麼您最好還是扔掉代碼。 Linux內核與Windows內核的工作方式非常不同。由於在內核編程中基本上沒有抽象,所以即使在Windows上使用Linux工具鏈,也無法制作跨平臺驅動程序。
Linux和Windows有完全不同的內核設計,這意味着您爲其中一個編寫的代碼根本無法工作。在Windows上嘗試編譯Linux用戶空間程序已經很困難,更不用說試圖將Windows驅動程序完全移植到Linux上。
0
謝謝大家爲你解答。實際上,我認爲這實際上不可能改變代碼(更重要的是,它甚至不僅僅是一個應用程序,而是針對特定電子板的特定驅動器的幾個.c和.h文件)。因此,我現在開始在Windows操作系統上測試代碼,然後我會看看我要用我的Linux系統做什麼...
相關問題
- 1. Python的系統調用,在Windows和Linux
- 2. 在Linux系統上將Java項目部署到客戶端
- 3. Linux系統調用
- 4. 嵌入式系統linux項目
- 5. Linux系統調用條目3.14
- 6. 將Firebase整合到統一項目
- 7. 有沒有將couchdbkit整合到djangos auth系統中的項目?
- 8. 如何從linux(遠程系統)複製目錄到windows(本地系統)
- 9. 如何使用Java程序將文件從Linux系統複製到Windows系統?
- 10. Windows上的unix系統編程項目?
- 11. linux系統調用getpeername C++
- 12. linux系統調用執行
- 13. 開放系統調用 - Linux
- 14. Linux系統調用誰
- 15. nasm系統調用Linux
- 16. Linux阻止系統調用
- 17. Linux系統調用getifaddr C++
- 18. 宏+ Linux系統調用(NASM)
- 19. 將Linux系統時鐘同步到Windows NTP服務
- 20. 調度系統或日曆項目
- 21. 內核調試Windows客戶系統,從Linux系統 - 設置不工作
- 22. 將系統調用添加到linux內核3.8.8
- 23. 添加項目到Windows系統菜單沒有winapi
- 24. x86 linux系統調用調用約定?
- 25. 在Ubuntu中顯示matplotlib圖(Linux子系統的Windows子系統)
- 26. 如何將項目動態android系統
- 27. 在Linux vs Windows中的文件系統
- 28. 爲linux,mac,windows開發「文件系統」
- 29. 系統檢測(Windows,Mac OS X或Linux)
- 30. 使用teamviewer從Windows訪問Linux系統?
你必須經過**很多**重構**。跨平臺應用程序必須從**開始**時刻記住這一點(否則您將只能使用非常少的代碼)。如果你沒有......那麼你現在可以做的不多,**耐心**和**重寫,以隔離系統特定的代碼**在單獨的庫/模塊中(您可以簡單地爲每個系統重寫)。使用**跨平臺庫**爲您提供一切(例如用於界面的QT,提升許多其他事物等等)。 –
哦,我剛纔看到你用** linux-device-driver **標記了你的問題。如果你必須重寫一個**設備驅動程序**然後**忘記**來移植你的大部分代碼,在這個級別幾乎所有的東西都不一樣(只有你可以保存的東西是_algorithms_,但通常它們與特定系統稱你無法提取它們,並且你不會支付抽象的性能影響)。 –
這太寬泛了。顯然你需要修改你的代碼,但只有你可以計算出需要完成的工作。 –