从托管代码 pInovked 后,非托管 DLL 的生命周期是多少?
例如,如果您有一个简单的托管控制台应用程序和一个简单的非托管 C++ DLL。您 pInvoke 到 C++ DLL 中的函数,该 DLL 是否会在非托管进程中保持加载状态,直到该进程关闭为止?或者每次 pInvoke 调用完成后 DLL 都会被卸载吗?
For example if you have a simple managed console app and a simple unmanaged C++ DLL. You pInvoke into a function in the C++ DLL, does the DLL stay loaded in the unmanaged process until said process comes down? Or does the DLL get unloaded at the completion of every pInvoke call?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
除非您明确告诉它卸载,否则它会保留在内存中。
It stays in memory unless you explicity tell it to unload.