我试图端口一些代码为64位,但它似乎该线程地址在标识符_beginthreadex是unsigned 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
Run Code Online (Sandbox Code Playgroud)Points to a 32-bit variable that receives the thread identifier. Might be NULL, in which case it is not used.