大佬教程收集整理的这篇文章主要介绍了c – -Wl,-wrap = symbol对共享库不起作用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
链接器阶段如下所示:
g -Wl,-wrap = malloc -o samegame .obj / main.o .obj / qrc_samegame.o -lQt5Quick -lQt5Qml -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread
我的包装看起来像这样:
extern "C" { void * __real_malloc(size_t c); void * __wrap_malloc(size_t C) { printf("my wrapper"); return __real_malloc (c); } }
我的问题是我看到我的包装器被调用直接从我的应用程序完成的malloc调用.在其中一个共享库中完成的malloc调用未被挂钩.
难道我做错了什么?
但你可以这样做:
#include <stdlib.h> #include <stdio.h> void *__libc_malloc(size_t sizE); void *R_770_11845@alloc(size_t sizE) { printf("malloc'ing %zu bytes\n",sizE); return __libc_malloc(sizE); }
编译malloc.c:gcc malloc.c -shared -fPIC -o malloc.so
然后运行:
$LD_PRELOAD='./malloc.so' ls malloc'ing 568 bytes malloc'ing 120 bytes malloc'ing 5 bytes malloc'ing 120 bytes malloc'ing 12 bytes malloc'ing 776 bytes malloc'ing 112 bytes malloc'ing 952 bytes malloc'ing 216 bytes malloc'ing 432 bytes malloc'ing 104 bytes malloc'ing 88 bytes malloc'ing 120 bytes malloc'ing 168 bytes malloc'ing 104 bytes malloc'ing 80 bytes malloc'ing 192 bytes ...
以上是大佬教程为你收集整理的c – -Wl,-wrap = symbol对共享库不起作用全部内容,希望文章能够帮你解决c – -Wl,-wrap = symbol对共享库不起作用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。