1

我不确定这是否是 GCC 在编译期间正在纠正的问题,但我找不到关于哪个调用对pthread_create. 我已经看到教程中使用了这两种格式,但是似乎其中一种应该失败(除非编译器在幕后做一些事情以将其设置为正确的格式):

pthread_create (&thread, NULL, thread_func, (void *) var);

或者

pthread_create (&thread, NULL, &thread_func, (void *) var);

请注意,第一次调用传入函数指针,而第二次调用将地址传递给函数指针。似乎应该中断,但编译和执行都正确。

线程函数定义:

void *thread_func (void *var);
4

1 回答 1

1

该函数将衰减为函数指针,因此两者的工作方式相同。

于 2018-11-30T21:42:15.320 回答