IOS 5下的Haskell内存管理

Bor*_*isV 11 haskell ios ios5 automatic-ref-counting

我想将Haskell引擎作为C库嵌入到IOS 5项目中 - 在IOS应用程序中运行Haskell代码.所以我有几个问题:

  1. Haskell在ARC下是否有任何已知的内存管理问题?
  2. 我怎样才能确保Haskell不会干扰IOS内存管理?
  3. 什么可能是处理这些问题的有效策略?

Nic*_*ood 1

严格来说,ARC 是一个与 Objective-C 代码相关的编译时代码生成过程。ARC 基本上意味着“在编译时将保留、释放和自动释放语句插入源*,这样程序员就不必这样做”。

因此,ARC 不会对非 Objective C 代码(即常规 C 库)执行任何操作,并且没有可能干扰 Haskell 引擎的垃圾收集行为的运行时行为**。

*这实际上并不是 ARC 的工作原理,它生成优化的汇编代码,而不是源代码,但作为类比,它很好地描述了它的工作原理。

**严格来说,ARC 没有运行时行为是不正确的,因为运行时会发生弱指针管理,但同样,这只适用于 Objective-C 对象,不会对 Haskell 代码执行任何操作。