gpt4 book ai didi

c++ - 将参数传递给 _beginthreadex

转载 作者:可可西里 更新时间:2023-11-01 10:53:13 25 4
gpt4 key购买 nike

我正在尝试使用 _beginthreadex 进行一些基本的并行化,并按照我给出的示例传递参数,但它不起作用。

有什么想法吗?

#include <iostream> 
#include <process.h>



void MyThread(void *data)
{
std::cout << "Hello World!";
}

int main()
{
_beginthreadex(NULL, 0, MyThread, NULL, 0, NULL);
while(true);
}

编辑:

为什么传递 NULL 作为参数不起作用? (因为函数无论如何都不接受参数?)

将 NULL 作为参数列表传递与 _beginthread 配合良好。

最佳答案

您的代码中有两个错误,都与线程函数的参数无关——NULL 就可以了,正如您推测的那样。

问题出在线程函数的签名中,您得到的错误指出了这一点。首先,它必须是一个 __stdcall 函数,其次它必须返回一个 unsigned int。您的函数是 __cdecl 并返回 void

unsigned __stdcall MyThread(void *data)
{
std::cout << "Hello World!";
return 0;
}

应该可以为您解决问题。

关于c++ - 将参数传递给 _beginthreadex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5968076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com