首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为第三方库libA.a包装对malloc的调用,而不是对libB.a调用

为第三方库libA.a包装对malloc的调用,而不是对libB.a调用
EN

Stack Overflow用户
提问于 2015-07-30 14:15:52
回答 1查看 141关注 0票数 2

假设您有对象文件main.o和两个外部第三方静态库libA.a和libB.b。你想把他们联系在一起。但是,您希望从libA.a (用您自己的名称替换malloc )中包装对malloc的调用,而不是对libB.a。

你会怎么做?

这是个有趣的问题,但它可以解决吗?

(为了使它更有趣,假设它是c和c++代码的混合:)

编辑1:

让事情变得更清楚。我将向您展示如何对这两个库进行如下操作:

代码语言:javascript
运行
复制
gcc -static -Wl,--wrap=malloc -o main.out main.o mem.o -lA -lB

在这里,mem.o文件包含函数__wrap_malloc的代码。但这将导致两个库都使用自定义malloc。问题是,如何使它只对其中一个起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-30 16:24:08

我的另一个问题得到了一个很好的回答,那是比较具体的。

Wrap malloc but only for some of input files (object and lib)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31726214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档