我正在使用包含多个 DLL 的 C Windows 应用程序。第一个 DLL 定义了一个供多个函数使用的全局变量。第二个 dll 有一个调用第一个 dll 中的函数的方法,该函数依次访问该全局变量。
当我从第一个 dll 访问全局变量时,一切正常,但是当从来自第二个 dll 的调用访问全局变量时,我收到以下错误:
a.exe 中发生了“System.AccessViolationException”类型的未处理异常附加信息:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。
注意:第二个变量中的任何函数都不会直接访问该全局变量。它只会通过第一个 dll 中的调用。
我试图通过 .DEF 文件导出变量,然后使用“_declspec(dllimport)”在第二个 dll 中定义变量,但这不起作用(我没想到它会因为第二个 dll 没有明确访问变量。
有谁知道我该如何解决这个问题。
谢谢