我正在做一个项目,我们通过 C++/CLI 层混合 .NET 代码和本机 C++ 代码。在这个解决方案中,我想通过 __declspec(thread) 声明使用线程本地存储:
__declspec(thread) int lastId = 0;
但是,在第一次访问该变量时,我得到了 NullReferenceException。更准确地说,声明是在ref 类(在 C++/CLI 中实现的 .NET 类)中完成的。
我已经阅读了一些关于 __declspec(thread) 不适用于延迟加载的 DLL 的内容。如果我使用 .NET,我是否会自动使用延迟加载的 DLL?