我正在尝试malloc
使用LD_PRELOAD
. 我想通过更改malloc
为shm_open
后跟将所有内存分配移动到共享内存mmap
。我该怎么做?
LD_PRELOADmalloc
工作正常。我可以拦截每一个malloc
电话。但是,调用shm_open
被拦截malloc
失败,因为shm_open
需要librt
链接到LD_PRELOAD 中需要libdl
的链接。dlsym
有一个递归插入。我想过创建一个包装共享内存分配的静态库。然后从被拦截的地方调用它malloc
。但librt
不能动态链接。