我一直试图在一个类对象中正确地挂钩/绕过一个虚函数,并且我已经成功地调用了一个不同的函数,但是我必须做一些关于{的方法不正确的事情。 {1}}关键字传递给函数。
我读了一篇关于以类似的方式挂钩D3D函数的文章,它提到编译器会将诸如this
之类的函数转换为int Class::method(int)
,但是如果我用vtable替换vtable中的地址如此定义的函数,'this'的地址不正确,因此可能不正确。
编译器如何布局成员函数,是否可以用非成员函数形式表示它,以便我可以将vtable中的地址设置为这样的函数并能够引用相应的对象?