Rob*_*cks 7 .net c# c++ dll pinvoke
如果我使用C#来调用某个DLL,那么实际的C++ DLL是否会在调用期间运行然后被关闭,从而破坏所有已用内存?或者.NET会在非托管"堆"中负责C++ DLL使用的内存,并在每次调用静态函数时指向这些对象到C++ DLL?
当我需要某个C++项目来保持其内存持久性时,我是否应该创建一个ActiveX/COM服务器来保持其内存,并且能够从C#调用它?
Dav*_*nan 5
如果我使用C#来调用某个DLL,那么实际的C++ DLL是否会在调用期间运行然后被关闭,从而破坏所有已用内存?
不会.一旦加载DLL,它将保持加载状态.DLL的生命周期与函数调用无关.这意味着DLL中具有静态存储的变量在初始p/invoke调用之后仍然存在.
归档时间:
12 年,5 月 前
查看次数:
504 次
最近记录: