ios编译与android编译区别是什么,为iOS和Android编译C ++代码(XCode)。 这是真的吗?...
你絕對可以在iOS和Android上使用C ++。 我已經為兩者編寫了自己的游戲引擎。
Xcode是iOS的常規IDE,本身支持“Objective-C ++”開發(編譯器支持Objective-C和C ++ )。 您需要在Objective-C中編寫一個瘦包裝器來與操作系統進行交互,但如果您愿意,可以用C ++編寫其他所有內容。 如果您下載Xcode命令行工具,您也可以從腳本構建。
Eclipse是Android的常用IDE,如果下載NDK,您可以利用JNI在Java和C ++之間進行交互。 與iOS非常相似,您至少需要Java包裝器才能與操作系統進行交互。
但是,您不僅限于Eclipse和Xcode。 例如,您可以使用emacs和/或使用CMake來嘗試合并項目設置。 Emacs是一個非常強大和靈活的IDE,但它有一個非常陡峭的學習曲線,并且不是很直接安裝。 如果你在Mac上這樣做我會推薦emacsformacosx并安裝ECB和自動完成 。 CMake基本上是一個跨平臺構建系統,允許您從一個源樹構建許多不同的項目文件(Visual Studio,Xcode,Eclipse等)。 就像emacs一樣,這是超級強大的,但有點陡峭的學習曲線。 如果你想立即進入,你可能會想要從Xcode和Eclipse開始。 如果你在PC上進行開發,你需要使用Mac VM或Hackintosh來使用Xcode和cygwin來使用NDK for android(Macbook Pro的用戶可以立即獲得樂趣,而且不會有任何麻煩)。
原生Android開發肯定要困難得多。 您不僅需要更多的設備分段才能應對,而且本機調試不是很直接。 您必須在設備上運行GDB服務器并與其連接以設置斷點,并且許多人通過命令行執行此操作。 如果你想要一個基于GUI的IDE,我聽說有些人在Tegra Tools for Eclipse上取得了成功。
我肯定會建議首先在iOS上進行開發,因為您可以從IDE獲得更強大的工具。 您可以輕松跟蹤內存泄漏,配置文件代碼,設置斷點;)等。一旦您在iOS上開發了一項function,您就可以使用.mk文件和Android本機開發的其他優點進行搏斗。
以下是iOS的核心對象和生命周期的一些信息:
核心對象
生命周期
對于Android:
生命周期
只要您熟悉操作系統并尊重應用程序的生命周期,您就可以自由地調用C ++邏輯。 您可以直接使用iOS執行此操作,但使用Android時,您必須通過JNI對呼叫進行編組。 如果封裝特定于平臺的平臺,則可以在兩個平臺之間共享C ++邏輯。
我是C ++的大力倡導者,但使用它的選擇取決于這些平臺的情況。 C ++不是這些平臺的流行選擇,因此你找不到那么多的文檔(你自己很多時候都是這樣)。 如果你不熟悉C ++(你熟悉RAII , 設計模式 , STL嗎?),復雜性可能會有所提高。
以下是一些可能有意義的情況:
如果您需要使用在C / C ++中編寫的庫
如果您想為您的應用或游戲構建自己的平臺無關框架
如果您正在使用游戲等實時/性能關鍵應用程序
我不是說你必須在這些情況下使用C ++,因為許多人已經在Objective-C中開發了游戲。 我只是說,如果您需要充分利用硬件或者只是想要更便攜的東西,可能需要考慮。
總結
以上是生活随笔為你收集整理的ios编译与android编译区别是什么,为iOS和Android编译C ++代码(XCode)。 这是真的吗?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言变量名必须用小写 常量用大写,da
- 下一篇: android service框架,An