1. 在开发一个系统时,因为软件版本问题,我界面开发使用的是VB,核心代码使用的是C++(C++生成DLL文件,供VB调用)。
2. 运行过程:VB调用dll函数,函数运行完成之后返回一个值,但是dll函数在运行的过程中,某一组数据发生了改变(数据量达10︿7数量级),为了尽可能减少数据传输的时间,我想通过共享内存的方式,将这部分数据放在一个VB与C++可以共同调用的内存空间中。
3. 思路:我想在VB中创建内存,将初始数据存入其中。C++函数运行时,对该内存中的数据进行修改。
4. 提问:请问大家这一方法可行吗?我在网上搜索过,但并没有找到过相关资料,有点茫然。另外,也希望大家能帮我想一下,是否可以有更方便的方法实现这一过程?
http://www.cnblogs.com/diose/p/5555769.html
推荐使用全C++来操作。。。不推荐这类多语言组合!!
VB加载dll进行调用,本身就在同一个进程的地址空间中,不存在所谓的“VB内存”/“VC内存”的区别。
直接把指针传过去就行。