但libdvm.so导出_Z16dexFileParseXXX,我不会从中获取dexFileParse的地址 对dlsym(手柄, “dexFileParse”)。 你说:你可以dlsym(句柄,“_ Z16dexFileParseXXX”),是的,它会没事的, 但是_Z16 * * ** XXX是由cplusplus的编译器重命名的,当我不知道cplusplus的编译器时我不能用它
我如何调用dexFileParse?
感谢
答案 0 :(得分:0)
当源代码从.c
更改为.cpp
时,符号已更改。 dexFileParse
函数是libdex的一部分,不公开。您不仅不能依赖名称错误having a specific value,还不能依赖函数存在或按预期工作的事实。
如果您的用例可以使用私有API,那么使用dlsym
(即尝试dexFileParse
,然后_Z16dexFileParseXXX
)探测该功能应该没问题。如果这是不可接受的,那么您应该尝试找到一个公共API来处理您尝试解决的问题。