我目前正在开发一个 DLL,它是一个封闭的、正在运行的项目的扩展。
我想捕捉每一个纯调用错误,所以我用谷歌搜索并发现了 _purecall 处理程序。我的问题是关于它的实施。幕后发生了什么?编译器本身获取我的处理函数地址(如果我定义了一个)并将其写入 v-table 中的每一行的默认值,然后它被类函数地址本身覆盖(在初始化之后),或者它更复杂,涉及CRT 和全局指针?
我问这个是因为我当然不希望我的插件 DLL 覆盖整个应用程序 _purecall 处理程序。我可以确定我的 purecall 处理程序将只处理我的模块中的 purecall 吗?
谢谢!