Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在动态链接库中使用线程本地存储 我有一个使用THeLead局部变量的跨平台C++项目,它将在DLL中提供。这段代码在linux gcc中运行良好,但在windows vc2019平台中,我似乎无法将\uuuu declspec(dllexport)和本地线程一起使用,否则它将生成_Dll_Thread Local - Fatal编程技术网

在动态链接库中使用线程本地存储 我有一个使用THeLead局部变量的跨平台C++项目,它将在DLL中提供。这段代码在linux gcc中运行良好,但在windows vc2019平台中,我似乎无法将\uuuu declspec(dllexport)和本地线程一起使用,否则它将生成

在动态链接库中使用线程本地存储 我有一个使用THeLead局部变量的跨平台C++项目,它将在DLL中提供。这段代码在linux gcc中运行良好,但在windows vc2019平台中,我似乎无法将\uuuu declspec(dllexport)和本地线程一起使用,否则它将生成,dll,thread-local,Dll,Thread Local,[编译器错误C2492] 这是从 代码是一个简单的全局int变量: extern thread_local int threadid; 最后我得到两个wey: 首先,它有点复杂 其次,不要在头文件中声明thread_局部变量,并使用get函数访问它,如下所示: #ifdef OS_WIN DLL_EXPORT int getThreadId(); DLL_EXPORT threadLocalWrap& getThreadLocalWrap(); #else extern thread_

[编译器错误C2492]

这是从

代码是一个简单的全局int变量:

extern thread_local int threadid;
最后我得到两个wey:

首先,它有点复杂

其次,不要在头文件中声明thread_局部变量,并使用get函数访问它,如下所示:

#ifdef OS_WIN
DLL_EXPORT int getThreadId();
DLL_EXPORT threadLocalWrap& getThreadLocalWrap();
#else
extern thread_local int threadid;
extern thread_local threadLocalWrap _threadLocalWrap;
#define getThreadId() threadid
#define getThreadLocalWrap() _threadLocalWrap
#endif