gpt4 book ai didi

android - 将 Visual C/C++ 移植到 Android,在 Linux 中途停留?

转载 作者:太空狗 更新时间:2023-10-29 13:34:30 26 4
gpt4 key购买 nike

我最近开始实习,需要将一个相当大的 Visual C/C++ 项目移植到 Android。我又问了一个question昨天关于那个话题,寻求一些帮助来寻找移植的概念。我得到了一个建议自动化解决方案的答案(比如 mono for android),但是在对我的概念进行了一天的明确研究之后,我倾向于“手动解决方案”,这意味着我手动删除所有 Windows 和 Visual 特定的手并将其替换为 Android 可用功能。

现在,我想到的第一件事是首先使用 windows gnu 编译器删除所有特定于 Visual 的内容,然后使用 linux gnu 编译器删除所有特定于 Windows 的内容(然后使用ndk).

这意味着我将它从 Windows 移植到 Linux,而不是从 Linux 移植到 Android,假设 Linux 到 Android 的步骤非常小,因为我希望代码几乎可以保持不变,从 Linux 到 Android,因为 Android 是基于在 Linux 内核上。

现在我的问题是:这是个好主意,还是说从 Linux 移植到 Android 也是一项巨大的努力,这样我就可以完成所有工作两次,一次是从 Windows 到 Linux,另一次是从 Linux 到 Android?!

绝对欢迎提出如何做得更好的建议!

编辑:忘记提及,这将是更大应用程序的一部分,不包含任何 GUI 内容(当然我知道这是因为 linux 到 Android 的步骤会很繁重),只是组件的接口(interface)上面和下面。

最佳答案

不要尝试手动删除“Windows 东西”。

而是创建一个“仿真层”——在标题中定义您的项目使用的所有 Windows 函数并编写它们的主体。

因此,您将保持项目不变,甚至可以使用它的新版本(如果有的话)。

在移植 Windows->Linux 时,您可能会遇到以下“大”问题:

  • windows 注册表模拟
  • windows 多线程模型和 IPC 翻译成 Linux 术语有点困难。特别是 SetEvent 和 WaitForMultipleObjects
  • GUI(但我知道,你没有)

移植Linux->Android最大的麻烦应该是UI。如果您不涉及用户交互,我建议首先移植 win->lin。

如果需要,您可以从 Linux 引入并构建缺少的库。

如果需要任何用户交互,您可能想用 Java 编写 native Android 前端应用程序并通过 D-Bus 与您的主程序交互。

关于android - 将 Visual C/C++ 移植到 Android,在 Linux 中途停留?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12055687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com