小编JMa*_*Mac的帖子

如何在 iOS 上实现协程

我正在将一个 C++ 项目移植到 iOS,以便在 iPhone 和 iPad 上使用。该项目广泛使用 Boost.Coroutine 库。Boost.Coroutine 没有针对 iPhone 的 ARMv6/ARMv7 指令集的实现。

  • 是否有其他可以在 iOS 上运行的协程库?

  • 如果没有,是否可以在 ARM 上编写协程行为?我可以看到一些可能的方法来做到这一点:

    • 直接编写汇编指令来执行堆栈操作。我不太精通汇编,我担心 ARM 架构可能不包含复制和粘贴堆栈或手动移动堆栈指针所需的指令。
    • 使用类似于 pthread 或 Win32 纤维的东西编写协程。我不确定是否有类似的东西可以在 iOS 上使用。
    • 在线程之上实现协程,甚至可能是 Boost.Coroutine 本身。这似乎最有可能奏效,但肯定会有性能缺陷。

注意:Unity 在 iOS 上支持 C# 中的协程;我不确定这是否仅限于典型协程行为的较小子集。如果没有,这是否意味着 Unity 有解决方案?

arm coroutine ios

3
推荐指数
1
解决办法
2383
查看次数

标签 统计

arm ×1

coroutine ×1

ios ×1