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 等效项的主要内容,如果未能解决你的问题,请参考以下文章

如何在arm linux平台连接ios设备

如何为通用 ios 设备构建 Webrtc ios?

如何在 Linux 2.6.35 上从用户模式清除和失效 ARM v7 处理器缓存

Crashlytics错误:架构arm64的未定义符号

iOS汇编入门教程ARM64汇编基础

目标 'arm64-apple-ios' 在 iOS 'Heimdall' 中出现错误;找到:x86_64“