我正在尝试编写一些插件来与MIDI音序器一起使用但是遇到了绊脚石。我不能使用全局范围变量来存储信息,因为.dll的多个实例可以共享内存。
如何创建一个类(用于其他插件中的可重用性),包含二维数组和其他变量,其内容将在函数之间共享?如果可能,我将如何在我进行处理的框架中读取和写入函数中的数据?
答案 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 类声明中声明必要的变量。
感谢大家的帮助。我可能会回答有关如何从类中获取信息的问题,这些类具有各种各样的错误指针。作为参数。
敬请期待! :)