0
A
回答
1
用C或C++編寫。您可以通過Objective C++的魔術將它鏈接到Objective C/Cocoa,以及通過NDK和JNI連接到Android上的Java。這就是我在我的項目中所做的。在這兩種情況下,編譯器都是GCC,RTL不相同,但足夠相似。
避免接口中的多毛數據結構,堅持原語和原始數組。當然,你可能需要抽象掉一些平臺。
你可能想用-fshort-wchar編譯你的代碼。發生這種情況的原因是short
是Cocoa和JNI中的本地字符格式。儘管如此,您將失去RTL的寬字符串功能,但它們對於Cocoa字符串和Java字符串無用。或者你可以在庫/平臺邊界上使用UTF-8。每次通話都需要轉換費用,yadda yadda。
注意:如果您只是想重新使用一些次要的輔助函數,那麼將它們寫兩次或複製/粘貼然後調整語法會更容易。調試NDK代碼是非常棘手的。如果共享位構成項目的25-30%或更多,只有這樣才行。就我而言,它更像是60%的共享。
編輯:如果你這樣做,一些進一步移植到其他移動平臺將是一個快照和一些 - 不是很多。具體做法是:
- 三星bada - 卡扣(也C++與GCC,耶)
- 移動QT(Meego的,等) - 卡扣(同上)
- 的Windows Mobile 6.5和下 - 相對容易(編譯器GCC和MSVC之間的差異可能的方式獲得)
- 的Windows 8平板電腦(又名WinRT中,地鐵) - 同上
- 黑莓PlayBook - 可能在理論上,從來沒有試過
- 老同學黑莓 - 是不可能的,這一切都Java
- Windows Phone 7 - 不可能,全是C#/ VB.NET
1
如果要爲iOS和Android創建應用程序,並且希望重新使用應用程序的業務邏輯(而不是UI),請查看Xamarin。
您可以使用開發C#並創建Android和/或iOS應用程序。
從Xamarin網站:
節省時間通過共享iOS和Android的 之間的數據結構和非UI代碼。
希望它有幫助。
相關問題
- 1. 的ObjectiveC,創建類的
- 2. 從.net dll創建java的.dll文件
- 3. Java創建.dll文件
- 4. 從objectiveC調用javascript函數
- 5. 爲Labview創建一個DLL
- 6. 創建和使用C#DLL
- 7. 爲函數創建別名
- 8. 爲CamanJS Plugin創建函數
- 9. 從java .war文件創建dll
- 10. 是否可以使用Java創建dll?
- 11. 創建pdfium DLL
- 12. Java在JFrame中創建cardLayout,構造函數參數爲
- 13. Java創建對象作爲函數的參數
- 14. DLL函數和指針
- 15. MPI和DLL(SO)函數
- 16. 創建名爲.dylib從源文件的動態庫中的ObjectiveC
- 17. 如何使用Objectivec文件和Swift文件創建框架
- 18. JAVA +創建HashMap來代替函數
- 19. 通過java創建sql server表函數
- 20. LuaJ - 在Java中創建Lua函數
- 21. 的ObjectiveC錯誤處理void函數
- 22. ObjectiveC - 構造函數,內存管理
- 23. 創建函數
- 24. MySQL創建函數函數
- 25. Java Applet和DLL
- 26. 在javascript中爲數組創建函數。
- 27. 使用dll中的函數,在java中
- 28. Java/JNI/MSVC java.lang.UnsatisfiedLinkError我的DLL函數
- 29. 創建dll文件
- 30. DLL創建類型
哇看起來不錯!不知道除了來自PCSoft的Windev之外,還有跨平臺的IDE ......這可能會在未來感興趣..非常感謝! –
@ BenLefebvre不客氣。 Upvote,如果你想。乾杯。 –
我會如果我可以:D仍然太新,upVote將回來後upVote它雖然:) –