如何使用命令行界面编译C ++程序并在手机上的Android 2.3.5下使用它?
答案 0 :(得分:5)
不 - 模型完全不同。简单的C ++程序是单线程的 - 它们在单个执行线程中尽可能快地执行任何操作,如果它们必须等待或阻塞诸如从网络检索数据之类的东西,那么它们只需要等待。它们通过多任务操作系统给出时间片,当它们完成时它们就完成了。
在Android中,始终有一个线程正在运行,它处理GUI交互并将结果传递到Activity实例中的“hooks”。任何可能阻止GUI线程的东西都必须归结为另一个线程,并回调Activity中的另一个方法。它是事件驱动的,你对对象生命周期这样的东西几乎没有控制或确定性。所以你需要以完全不同的方式进行编程。
作为Android应用程序运行的某种模拟器原则上可以运行为特定VM编译的C ++二进制文件。但据我所知,这样的应用程序不存在,工具链也不能生成这样的二进制文件。谷歌也劝阻AFAIK这样的做法。有完全成熟的计算机模拟器,但由于显而易见的原因,它们主要是旧的8位怀旧游戏:)
我是最近参与Android编程的C ++程序员,我推荐它。您将以与您可能习惯的单线程IFTT方式不同的方式来考虑程序。