gpt4 book ai didi

c++ - 在 Linux 中查找函数签名

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:31 24 4
gpt4 key购买 nike

给定一个 .so 文件和函数名,有什么简单的方法可以通过 bash 找到函数的签名吗?

返回示例:

@_ZN9CCSPlayer10SwitchTeamEi

谢谢。

最佳答案

我的编译器处理的东西与您的 (OSX g++) 略有不同,但将您的前导 @ 更改为下划线并将结果传递给 c++filt 会给我我认为您想要的结果:

bash> echo __ZN9CCSPlayer10SwitchTeamEi | c++filt
CCSPlayer::SwitchTeam(int)

相反的做法比较棘手,因为 CCSPlayer 可能是一个命名空间或一个类(我怀疑它们的处理方式不同)。但是,由于您拥有 .so,您可以这样做:

bash> nm library.so | c++filt | grep CCSPlayer::SwitchTeam
000ca120 S CCSPlayer::SwitchTeam
bash> nm library.so | grep 000ca120
000ca120 S __ZN9CCSPlayer10SwitchTeamEi

尽管您可能需要谨慎一些才能获得一些额外的结果。 (这些 .so 文件中有时会有一些有趣的符号)

关于c++ - 在 Linux 中查找函数签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3837387/

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