我正在尝试使用C++生成一些线程,std::thread但我无法让它工作.如果它有任何区别我正在使用VS 2015.它在线程创建失败(t[thread_id] = std::thread(test);).这是我的代码的相关部分:
void test() {}
void threaded_DFT(std::complex<double>* x, std::complex<double>* X, size_t N) {
std::complex<double>* tmp=(std::complex<double>*)malloc(N * sizeof *tmp);
std::thread* t=NULL;
size_t num_threads;
size_t stages = log2(N);
size_t FFT_8_stages = stages / 3;
size_t remainder_stages = stages % 3;
size_t Ns = 1;
for (size_t i=0, Ns = 1; i < FFT_8_stages; i++,Ns=pow(2,3*i))
{
num_threads = N / 8;
t = (std::thread*)malloc(num_threads * sizeof *t);
if (!t)
exit(EXIT_FAILURE);
for (size_t thread_id = 0; thread_id < …Run Code Online (Sandbox Code Playgroud)