gpt4 book ai didi

linux - 静态库中的填充函数

转载 作者:太空宇宙 更新时间:2023-11-04 10:38:38 24 4
gpt4 key购买 nike

我有一个不透明的静态链接库(.a 文件)和一些调用静态库中函数的不透明目标文件(.o)。我想在静态库中围绕一些函数调用添加包装器。

如果它是一个动态库,我会在运行时使用 LD_PRELOAD,但由于这是静态链接,我确信我将不得不使用编译时技术。我在考虑 -Z muldefs,这将允许我覆盖函数调用,但我仍然需要能够在我的 shim 中调用原始函数,所以我不能直接使用它。

到目前为止,我能想到的最佳解决方案是使用 objcopy --redefine-sym 重命名不透明库中的函数,然后让我的 shim 代码通过它们的新函数调用函数姓名。有没有更好的办法?

最佳答案

Is there a better way?

不,那是你能做的最好的。

关于linux - 静态库中的填充函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36192000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com