我正在研究一個項目,我們通過C++/CLI層混合了.NET代碼和本機C++代碼。在這個解決方案,我想通過__declspec(線程)聲明使用線程本地存儲:使用__declspec(線程)的線程本地存儲在C++/CLI中失敗
__declspec(thread) int lastId = 0;
然而,在變量的第一次訪問,我得到一個NullReferenceException。 更準確地說,聲明是在ref class(在C++/CLI中實現的一個.NET類)內完成的。
我已經閱讀了一些關於__declspec(線程)不適用於延遲加載的DLL。 如果我使用.NET,我會自動使用延遲加載的DLL嗎?