C# 调用 C++ dll 动态链接库中多个函数时全局变量的问题
2013-09-23 16:41
591 查看
最近编写C#程序调用C++语言的算法库,自己尝试在C++中封装好DLL库,并在一个工程文件中同时导出多个函数供C#调用。多个函数之间需要相互通信,但又不能互相调用,,一个很好的方法就是用全局变量来实现,其问题是,C#启动后加载DLL文件,在调用某个函数后修改的DLL中的全局变量值是否会被保存,以供下一个函数调用时共享使用。
经过实验发现,当C#启动后开始加载DLL文件,文件中的初始代码就会执行,所有全局变量会一直保存实值,直到C#程序运行结束或主动释放加载的DLL文件,这样DLL文件就可以被看作一个伴随C#主进程一直运行的子线程,运行过程中不会释放变量。
经过实验发现,当C#启动后开始加载DLL文件,文件中的初始代码就会执行,所有全局变量会一直保存实值,直到C#程序运行结束或主动释放加载的DLL文件,这样DLL文件就可以被看作一个伴随C#主进程一直运行的子线程,运行过程中不会释放变量。
相关文章推荐
- C#调用C++写的dll 函数传递参数问题,请有经验的人详细描述
- C# 调用 C++ dll 函数 时传递字符串 需要注意的问题
- C#调用C++DLL时遇到的PInvoke 函数的调用导致堆栈不对称问题
- C# 调用 C++ dll 函数 时传递字符串 需要注意的问题
- C# 调用 C++ dll 函数 时传递字符串 需要注意的问题(zz)
- C#静态调用C++Dll导出函数,并在C++Dll中回调C#函数
- c# 调用c/c++ dll 参数问题
- Unity3d 调用 C++ DLL之 DLL回调Unity3d (C++ DLL回调 C#函数)
- VB、VC调用C++dll 函数、变量、类
- VC6.0下调用Dll文件提供的函数接口和全局变量
- 多个进程范文DLL中的函数/全局变量/数据共享段问题
- C#调用C++版本dll时的类型转换要注意的问题
- C#调用c++Dll 结构体数组指针的问题
- C#调用C/C++ 动态链接库DLL(二)
- C# 调用 C++ dll 的一些问题
- Unity C# 调用C++ dll 问题集锦
- C#调用C++动态链接库(dll)
- C#调用C++ dll 时,涉及到函数参数类型的转换,这里是C++和C#的类型对照表
- C#调用C++ dll导出函数提示找不到指定模块 by:凉游浅笔深画眉 / Net7Cracker
- 在c#里调用C++的dll时,需要注意的一些问题