her*_*sen 1 c windows dll global-variables
如何访问在dll中我的应用程序的main()函数中初始化的全局变量?
我的全局变量包含一个临界区对象,我需要锁定一个dll.
我试图在我的应用程序中导出它并使用它在dll中导入它
__declspec(dllexport)并且__declspec(dllimport)
但是当我试图锁定关键节,我收到了runtine例外,这让我觉得我的dll访问变量未正确初始化.
使用LoadLibrary在运行时加载dll.
任何提示将不胜感激.
通常,DLL中的变量是从应用程序访问的,但看起来你正试图以相反的方式进行操作.你从DLL中导出应用程序和导入的方式似乎有点过时了.
如何在DLL中创建一个函数,该函数从应用程序中获取指向临界区对象的指针并将其存储在DLL自己的全局变量中?
DLL:
CRITICAL_SECTION *gCS;
__declspec(dllexport) void MyDLL_SetCS(CRITICAL_SECTION *cs) {
gCS = cs;
}
Run Code Online (Sandbox Code Playgroud)
应用:
CRITICAL_SECTION cs;
// initialize cs here
MyDLL_SetCS(&cs);
Run Code Online (Sandbox Code Playgroud)
然后,DLL可以在需要时使用自己的指针副本.
| 归档时间: |
|
| 查看次数: |
2252 次 |
| 最近记录: |