如何在android本机代码中使用共享内存?

mk.*_*k.. 3 android shared-memory android-ndk

我正在将现有的 linux 应用程序移植到 android。该应用程序正在使用共享内存 API 等shm_open()

检查android source 中的仿生,我发现这些 API 不受支持。因此我在构建过程中遇到链接错误。

external/l2/avbtp.c:138: error: undefined reference to 'shm_open'
external/l2/avbtp.c:151: error: undefined reference to 'shm_unlink'
external/l2/avbtp.c:186: error: undefined reference to 'shm_unlink'
Run Code Online (Sandbox Code Playgroud)

如何正确解决这个问题?

Ser*_*gio 5

Android 故意不提供 SysV IPC。尽量避免使用共享内存,或者,如果你真的想要,寻找使用ashmem.