iOS 设备的 ARM __clear_cache 等效项
Posted
技术标签:
【中文标题】iOS 设备的 ARM __clear_cache 等效项【英文标题】:ARM __clear_cache equivalent for iOS devices 【发布时间】:2012-05-09 18:33:46 【问题描述】:我正在将一个库移植到 iPhone,它会调用 __clear_cache
。一项小小的研究挖掘了 nice explanation 的作用。
文章列出了适用于 Linux、Windows 甚至 android 的库函数。我不认为 ios 设备有等价物吗?还是我可以实施的其他解决方法?
【问题讨论】:
由于 iOS 是一个基于 *NIX 的平台,并且您使用苹果版本的 GCC (LLVM) 编译代码,您应该能够对__clear_cache(beg, end)
进行函数调用。
你是对的!如果我切换到 LLVM-GCC 而不是 Apple LLVM 编译器(我认为现在使用 clang),我可以构建好。这已经解决了我在这种情况下的问题,我想知道如果我不能恢复到旧的编译器会是什么解决方案。
好的,好吧,我添加了评论作为答案,请务必投票并接受它:)
【参考方案1】:
由于 iOS 是一个基于 *NIX 的平台,您可以使用苹果版本的 GCC (LLVM-GCC 4.2) 编译代码,您应该能够对 __clear_cache()
进行函数调用,如下所示:
extern void __clear_cache(char *beg, char *end);
__clear_cache(beg, end);
请注意,这不适用于 Apple LLVM Compiler 3.1
,仅适用于 GCC,出于某种奇怪的原因。
【讨论】:
以上是关于iOS 设备的 ARM __clear_cache 等效项的主要内容,如果未能解决你的问题,请参考以下文章