// 命名空间 hcc30_spcheck
long __stdcall PCCheck(long ADevID, unsigned int AType,
const void* AData, unsigned short ASize)
{
// ??? ... ...
return 1;
}
// 生成动态库libspcheck.so
// 查看动态库导出函数符号nm -D libspcheck.so
000000000000d1f0 T _ZN13hcc30_spcheck7PCCheckEljPKvt
问题:
符号名称前缀_ZN13以及后缀EljPKvt是怎么定义的? (后缀应该跟函数参数有关)
这是c++编译器对函数名的修饰,保证函数的唯一性
这个修饰有什么规则没?可以从这些修饰符号里获取函数参数这些信息吗?
@__kylong: 是有规则的,可以获取函数的信息,给定一个函数,都可以按照规则推导出它的修饰之后的结果。具体这篇博客介绍的很详细。
https://blog.csdn.net/roland_sun/article/details/43233565
@Shendu.CC: got it. thanks.