gpt4 book ai didi

c - C 代码中自动为函数名称添加前缀

转载 作者:行者123 更新时间:2023-12-02 20:50:14 32 4
gpt4 key购买 nike

假设我将我的应用程序链接到两个静态库。在这两个库中,我们可以找到名称相同但功能不同的函数,这会导致符号冲突。我通常的方法 - 编辑库的源代码并为每个函数的名称添加唯一的前缀。但我不想再手动执行此操作了。是否有某种工具或智能方法可以为选定源文件中的所有函数添加自定义前缀?我使用 Visual Studio 2010 在 Linux 和 Windows 上工作,因此我可以在这两个平台中的任何一个上使用此类工具。

最佳答案

通常更改库中的函数签名是一个非常糟糕的主意。特别是如果您正在使用预先存在的代码库。如果其他人正在使用该函数,您就会破坏他们的代码。

即使这只是您自己的项目,您可能也不应该养成这种习惯。

为什么不完全指定冲突的函数呢?而不是仅仅让 using Library1;使用库2;处理它,您可以尝试在不明确的情况下显式指定 Library1.Function1() 。

编辑:啊,我以为我看到了 C++,如果没有命名空间,这个答案是完全无效的。 This might help though

Edit2:objcopy 似乎只通过添加临时副本前缀来解决破坏其他人签名的问题。 Mathias 发布的链接有完整的解释,我将重新链接 here为了可见性

关于c - C 代码中自动为函数名称添加前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19664310/

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