如何创建和读取在函数结束时未销毁的非全局变量?

时间:2011-01-06 03:44:12

标签: c++ arrays class data-sharing

我正在尝试编写一些插件来与MIDI音序器一起使用但是遇到了绊脚石。我不能使用全局范围变量来存储信息,因为.dll的多个实例可以共享内存。

如何创建一个类(用于其他插件中的可重用性),包含二维数组和其他变量,其内容将在函数之间共享?如果可能,我将如何在我进行处理的框架中读取和写入函数中的数据?

3 个答案:

答案 0 :(得分:1)

“DLL的多个实例”是什么意思?在Win32中,每个进程都有自己的私有地址空间,具有全局变量的DLL特定于进程。 DLL不能多次加载到同一进程中。

在Win16过去的糟糕时期,DLL全局变量空间在进程之间共享,这导致了令人头疼的问题。

答案 1 :(得分:0)

您是否在寻找static关键字?

static int i = 1; //this keeps its value at each call

答案 2 :(得分:0)

事实证明,这是一个C ++处女错误,我 cough 只需要在插件类的 cough 类声明中声明必要的变量。

感谢大家的帮助。我可能会回答有关如何从类中获取信息的问题,这些类具有各种各样的错误指针。作为参数。

敬请期待! :)