假设我有一个像这样定义一个函数:函数地址
class Foo() {
public:
void bar(MyClass* p, int i, int j, CArray<CArray<int,int>,int> &a);
}
void Foo::bar(MyClass* p, int i, int j, CArray<CArray<int,int>,int> &a){
// Function body
}
对于Win32应用程序/ DLL,这个功能是不是“出口”我怎么能找到的bar
函数地址,得到导出的函数的函数地址很容易。但是获取非导出函数的函数地址有点难。
指针非静态成员函数(“办法”),实际上可能没有地址,顺便说一句。成员函数如何表示为指针类型取决于实现。 – cdhowie
如果您拥有此代码的控制权,那么只需将其导出即可。否则,可能不适合外部使用。 – crashmstr
你只是想要地址还是能够调用这些函数?处理DLL专用的函数时,需要处理的东西太多了,例如调用约定,名称修改等。您是否尝试创建注入向量? – dirkgently