0

我需要在 2 个 C++ Dll 之间共享一个变量(1000 秒)。我该怎么做?

MyVariables.Dll包含:

int a = 0;

ModifyMyVariables.Dll包含:

extern int a;    
a++; 
// do more stuff with a;

我应该在以下文件中写什么?

myvariables.h
myvariables.cpp
ModifyMyVariables.h
ModifyMyVariables.cpp
4

1 回答 1

1

您可以使用几种基本机制在图像(EXE、DLL...)之间共享数据(使用 extern 不能共享数据 - 它只指示链接器而不是加载器!)

  1. 使用导入/导出符号(使用标准导入地址表/导出表)
  2. 使用包含您的数据的静态部分
  3. 使用包含您的数据的动态部分

在你的情况下,我会使用这些部分。这工作得很好。当然,在从双方访问(写入)这些数据时,您必须注意同步。

于 2012-07-14T19:59:45.897 回答