[英]Valgrind : How to use valgrind to detect memory leaks of native code on Android?
[英]How to use shared memory in android native code?
我正在將現有的 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'
如何正確解決這個問題?
Android 故意不提供 SysV IPC 。 盡量避免使用共享內存,或者,如果你真的想要,尋找使用ashmem
例子。
好吧,我找到了這個github項目,並且很好用! https://github.com/pelya/android-shmem
就像魔術一樣,它運作完美。 您可以無縫地使用shmget(),shmat()和shmdt()API在獨立進程中使用android中的共享內存。 試試看。
是的,我看過那個項目,但是我很困惑如何使用它。 我只想在我的安卓手機上正確部署postgresql,但是我不能和ashmmem一起工作,所以我需要使用這個模擬器,問題是我只是一個初學者而這些解釋還不夠清楚。 😢
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.