android - 为跨平台 OpenGL ES 2.0+ 引擎选择语言和设计 - iOS 和 Android

标签 android c++ ios c opengl-es

<分区>

我开始在 OpenGL ES 2.0+EGL 中为 Android 编写一些代码,现在要实现跨多个设备的最大兼容性,我想问:

  • 我应该选择什么语言,C 还是 C++? (这个问题是基于我不太了解 Xcode 并且我不知道它与 CC++ 有多好)
  • Android 下的原生​​应用必须使用 EGL,但 iOS 或其他平台呢?
  • OpenGL ES 2.0 功能未被视为该配置文件的核心部分?我的意思是我可以为 AndroidOpenGL ES 2.0 提供一些功能,这些功能存在可移植性风险,例如在 iOS 下无法工作?
  • 我可以在 CC++ 中为 iOS 编写一个完整的应用程序,而无需包装器或第三方库?

谢谢。

最佳答案

Apple 的编译器支持:C++Cobjective C,尽管与它们所有的 API 的联系都是设计好的主要针对 Obj C,您仍然可以为它们使用 C++COpenGL ES 2.0 完全支持iOSAndroid。如果你想使用 iOS 作为你的主要平台(这是最有意义的商业决策),那么可以获得 android 的 NDK 编译器的插件来执行 objective c .

也就是说,我会使用 C++,因为您不仅可以与 AndroidiOS 交叉兼容,而且还可以与 MAC OS, Linux, Windows, BSD, BeOS, Haiku 等等。 Xcode 在我看来是一个很棒的 IDE,界面生成器很棒,在最新版本中它没有任何错误(根本没有崩溃),它也是一个很好的测试应用程序的平台。我不是 android 专家(不要认为它值得开发,除非我正在玩愤怒的小鸟游戏)但我知道它有利于 Java(如果我是,请纠正我标准 SDK 执行此操作是错误的),因此您必须使用 NDK 才能获得 C++/C 功能。自己做一些研究,因为通过快速谷歌搜索并不难获得您想要的所有信息。

关于android - 为跨平台 OpenGL ES 2.0+ 引擎选择语言和设计 - iOS 和 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550587/

相关文章:

c++ - 使用 pipe() 和 fork() 读取文件并输出到控制台/新文件

ios - 为什么在使用 init(barButtonSystemItem, target, action) 初始化时 UIBarButtonItem 的目标设置为 nil?

ios - 扩展的 UITableViewCell 无法正常工作?

c++ - MSVC _Crt* 宏在 RAII 代码中使用不安全

c++ - C语言中函数中的switch指针

ios - swift - "Expected to decode Array<Any> but found a dictionary instead."

android - 无法编译最新的 firebase 核心库

java - 如何从android studio中的库模块调用 Activity

android - 从android中的路径中删除图像/文件名

android - 我可以在后台使用 Android Wear 分析传感器数据吗?