对不起,如果这个问题之前已经回答过;然而,所有类似的问题似乎都与 DLL 中的全局或静态变量以及这些变量的共享有关。
是否可以在两个单独的应用程序之间共享一个 dll 实例?
我有两个应用程序(appA、appB)和一个 DLL(theDLL)。
我正在查看 appA 是否可以调用 DLL 中的函数,然后在堆上创建一个变量并将其存储在 DLL 中。稍后,我想让 appB 连接到 DLL 并能够访问之前创建的变量。再次抱歉,如果此答案与 dll 中的静态和全局变量相同。
这是一些伪代码:
(DLL)
class VariableHolder
{
public:
void StoreVariable(int x)
{
mInt = new int(x);
}
int GetVariable()
{
return mInt;
}
private:
int mInt;
}
(appA)
int main()
{
...
(assuming we got access to a VariableHolder singleton created in theDLL)
theVarialbeHolder.StoreVariable(5);
...
}
(应用程序B)
int main()
{
...
(assuming we got access to a VariableHolder singleton created in theDLL)
if (theVarialbeHolder.GetVariable() == 5)
{
cout << "Hurray, how did you know?";
}
...
}