2016-07-28 141 views
2

我正在将一个现有的linux应用程序移植到android。该应用程序正在使用共享内存API,如shm_open()等。如何在android本机代码中使用共享内存?

检查bionic in 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' 

如何正确解决此问题?

回答

0

嗯,我发现这个github项目,它的工作原理! https://github.com/pelya/android-shmem

就像一个神奇的,它完美的作品。您可以在独立进程中使用shmget(),shmat()和shmdt()API无缝地在android中使用共享内存。试一试。