【发布时间】:2011-11-29 03:24:17
【问题描述】:
我一直在为我未来的游戏使用 C++ 开发游戏引擎运行时环境,并开始将 android 视为一个平台。我注意到它与 Java 紧密绑定并大量使用 Java VM。
但是是否有可能在 Android NDK 中维持完整的 C++ 运行时环境?我对 Java 没有任何反对意见,并且准备好在必要时使用它,但性能是我最关心的问题之一(我打算让我的游戏占用大量资源),尤其是在手机上。
如果一个完整的 C++ 环境是可能的,我将如何在 Eclipse Indigo CDT 中实现它?我是否能够提前为 Android 创建一个已编译的游戏可执行文件以获得最佳性能?我需要在 Eclipse 中安装任何其他插件吗?我可以使用 MinGW 来编译我的游戏,还是需要使用不同的编译器?如果我必须以一种或另一种方式使用 Java,是否甚至需要编译 C++ 代码?为了在 Eclipse IDE 中建立一个稳固的开发环境,这些都是我想要回答的问题。
请注意,我对 Android 开发和一般的多平台编程还很陌生。我的目标是创建一个能够充分利用新硬件的游戏引擎,尤其是在手机上!
感谢你们提供的任何建议!
【问题讨论】:
-
Android 有一个特殊的 JIT Java 编译器,Android 环境的很大一部分是 Java。没有理由更喜欢 C++ 而不是 Java 来提高 Android 上的速度,许多传统的性能影响并不存在。
-
好的,这是我想知道的一件大事,谢谢。实际上,我刚刚找到了 NativeActivity 类 (developer.android.com/reference/android/app/NativeActivity.html),它看起来非常有前途,尤其是因为它看起来像是针对 C++ 游戏。我还需要 Android SDK 和 JIT 编译器才能让它工作吗?
-
JIT 是 Dalvik(Android 的 VM)的一部分,无论您是否使用 NativeActivity,Dalvik 都存在于系统上的每个进程中 - 它用于与系统的其余部分进行通信。
-
好的,所以我假设我需要 SDK 和 NDK 才能使其工作。我将相应地在 Eclipse 中实现它。谢谢!
标签: android c++ android-ndk mingw eclipse-indigo