作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设您有目标文件 main.o 和两个外部第三方静态库 libA.a 和 libB.b。并且您想将它们链接在一起。但是您想包装从 libA.a 到 malloc 的调用(用您自己的 malloc 替换),而不是 libB.a。
你会怎么做?
这是个有趣的问题,但它可以解决吗?
(为了让它更有趣,假设它是 c 和 c++ 代码的混合:))
编辑 1:
为了让事情更清楚。我将向您展示如何为这两个库完成此操作:
gcc -static -Wl,--wrap=malloc -o main.out main.o mem.o -lA -lB
这里的 mem.o 文件包含函数 __wrap_malloc 的代码。但这将导致两个库都使用自定义 malloc。问题是,如何让它只对其中一个起作用?
最佳答案
我的另一个问题得到了很好的回答,更具体。
Wrap malloc but only for some of input files (object and lib)
关于c++ - 为第三方库 libA.a 包装对 malloc 的调用,但不为 libB.a 包装调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31726214/
我是一名优秀的程序员,十分优秀!