gpt4 book ai didi

c++ - 函数名称别名

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

我有一个调用函数的库:例如 malloc。我在我的应用程序中使用该库。我希望库不调用 malloc,而是调用我在每次调用 malloc 时定义的函数“mymalloc”。简而言之,我想使用具有不同名称的 my 符号解析 malloc 符号。

我试过这个链接器选项:-Wl,--defsym=malloc=mymalloc

它可以工作,但仅适用于应用程序中的调用即:程序中对 malloc 的每次调用都解析为 mymalloc,但库中的调用仍然调用 stdlibc malloc。

非常感谢,大卫

最佳答案

这很粗糙,但您可以使用预处理器 - 优点是预处理器在编译之前运行:

#define malloc mymalloc

在包含任何标准库之前,您必须#include包含 mymalloc 声明的文件

您还必须自己重建任何已编译的库。实际上,我建议在生产环境中这样做:我认为代码会很脆弱,而且不匹配的 mallocs 可能潜伏在每个角落。

关于c++ - 函数名称别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24137037/

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