相关疑难解决方法(0)

如何为_beginthreadex提供64位线程标识符

我试图端口一些代码为64位,但它似乎该线程地址在标识符_beginthreadexunsigned int其为32位,我无法通过/接收一个64位的地址从函数标识符:

uintptr_t _beginthreadex( // NATIVE CODE
   void *security,
   unsigned stack_size,
   unsigned ( __stdcall *start_address )( void * ),
   void *arglist,
   unsigned initflag,
   unsigned *thrdaddr // <-- 32-bit address
);
Run Code Online (Sandbox Code Playgroud)

我检查了MSDN文档,但我没有看到该函数的64位版本.我是否包括错误的标头,每处理器标志或是否有其他方法来创建具有64位地址标识符的线程?

更新

该文档声明该thrdaddr参数是32位:

Thrdaddr

Points to a 32-bit variable that receives the thread identifier. Might be NULL, in which case it is not used.
Run Code Online (Sandbox Code Playgroud)

c++ concurrency 64-bit multithreading crt

2
推荐指数
1
解决办法
1576
查看次数

标签 统计

64-bit ×1

c++ ×1

concurrency ×1

crt ×1

multithreading ×1