C++符号修改和符号改编
函数签名:函数签名包含了一个函数的信息,包括函数名,它的参数类型,它所在的类和命名空间等其他信息
GCC的基本C++名称修饰方法:所有的符号都以“_Z”开头,对于嵌套的名字(在名称空间或在类里),后紧跟“N”,然后是各个名称空间和类的名字,每个名字前是名字字符串长度,再以“E”结尾,函数的参数紧跟在E后面
例子:
int func(int); float func(float) class C { int func(int); class C2 { int func (int); }; }; namespace N { int func{int} class C { int func(int) }; };
可以用binutils中的c++filt工具来解析被修饰过的名称,如
$c++ filt _ZN1N1C4funcEi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」