我要解决的问题是制作一个函数名列表,映射到相应的成员函数指针。
我试图使用 nm 命令直接从 .so 文件中获取函数指针,然后通过函数指针调用它们,但我无法成功。
在 .so 文件中:
0xd52=>DerivedModel::DoSomething()
0xd94=>DerivedModel::checkReference()
偏移量为 0x42。
但在运行时:
0x804d26e DoSomething
0x804d29c checkReference
偏移量为 0x2E。
函数之间的偏移量有所不同。为什么应该不同?我想 vtable 是相同的,所以偏移量应该是相同的。