P/Invoke执行DLL然后关闭它吗?
Does P/Invoke execute the DLL and then shut it down?
如果我使用c#来p/调用某个DLL,实际的c++ DLL会在调用期间运行,然后关闭,销毁所有已使用的内存吗?或者。net将负责c++ DLL在非托管的"堆"中使用的内存,并在每次调用静态函数时向c++ DLL提供指向这些对象的指针?
当我需要一个特定的c++项目有它的内存持久化,我应该创建一个ActiveX/COM服务器有它的内存持久化,但能够从c#调用它?
如果我使用c#来p/调用某个DLL,实际的c++ DLL会在调用期间运行,然后被关闭,销毁所有已使用的内存吗?
。一旦DLL被加载,它将保持加载状态。DLL的生命周期是而不是绑定到函数调用。这意味着在初始的p/invoke调用之后,DLL中具有静态存储的变量将持续存在。
如果您从c++ -DLL创建一个对象,它实际上会一直存在,直到您删除它或处置它。当您需要手动删除非托管对象时,它将保留。
相关文章:
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 这是我尝试让用户将值输入到数组中.然后将其隐藏为大量的星号
- boost::asio如何生成多个协同程序,然后加入它们
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- 在std::thread中,joinable()然后join()线程安全吗
- C++:如何读取分离变量,然后读取向量
- 为什么我的递归函数按降序打印,然后按升序打印?
- 等待整个 omp 块完成,然后再调用第二个函数
- CMake:如何将库 A 链接到库 B,然后将可执行文件链接到库 A
- 如何存储用户输入的所有数据,然后在他们想要查看所有数据时显示它们
- '{'标记之前的预期类名,然后在预声明时无效使用不完整的类型'class class_name'
- 如何使变量从 x 到 y,然后从 y 返回到 x 并始终重复该过程
- 我有一个数组,我想输入一个范围,然后找到范围内所有偶数的总和?
- 如何正确地推回然后遍历堆中对象的向量?
- 我似乎无法为指针分配一个数组,然后更改数组的内容
- 如何在字符串中找到字符,然后在C++中提取其余的字符串
- 寻找在c#中创建c++ DLL然后P/Invoke的代码示例(适用于Windows CE 5/6)
- P/Invoke执行DLL然后关闭它吗?