DLL的新增/删除是否覆盖用户代码new / delete? [英] Does DLL new/delete override the user code new/delete?

查看:137
本文介绍了DLL的新增/删除是否覆盖用户代码new / delete?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

guys,
如果我覆盖全局新和删除我的dll代码,这将覆盖用户代码新和删除?
我做了一个测试,它显示用户新和删除不会受到影响。
如果我想让用户代码为新的,删除被替换为mine sdk new / delete,那么怎么做。

guys, If I override the global new and delete in my dll code, will this override the user code new and delete? I made a test, and it shows the user new and delete will not be impacted. If I want to make user code new and delete be replaced by mine sdk new/delete, how to do that.

模板类的情况是什么。模板类定义包括一些新的/删除。用户代码可以实例化它。那么,它可能使用用户新的/删除,对吗?

What's the case of template class. Template class definition includes some new/delete. And user code might instantiate it. Then, it might use user new/delete, right?

推荐答案

不,在Windows上每个DLL都有自己的 operator new() / operator delete()。但是你应该小心 - 如果一些DLL new s对象应该 delete d使用相同的 operator delete() - 否则会遇到未定义的行为。

No, on Windows each DLL has its own operator new()/operator delete(). However you should be careful - if some DLL news an object that object should be deleted using the same operator delete() - otherwise you run into undefined behavior.

这篇关于DLL的新增/删除是否覆盖用户代码new / delete?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆