我正在尝试在 C 中在 Ubuntu 中实现线程链。当我编译以下代码时,即使我添加了头文件,我也会收到对这些线程库函数的未定义引用的错误。我也收到分段错误错误。这是为什么?我没有在程序的任何地方访问一些未初始化的内存。这是代码:
#include <stdio.h>
#include<stdlib.h>
#include <pthread.h>
void* CreateChain(int*);
int main()
{
int num;
pthread_t tid;
scanf("Enter the number of threads to create\n %d",&num);
pthread_create(&tid,NULL,CreateChain,&num);
pthread_join(tid,NULL);
printf("Thread No. %d is terminated\n",num);
return 0;
}
void* CreateChain(int* num )
{
pthread_t tid;
if(num>0)
{
pthread(&tid,NULL,CreateChain,num);
pthread_join(tid,NULL);
printf("Thread No. %d is terminated\n",*num);
}
else
return NULL;
return NULL;
}
我收到以下警告,并且由于某种原因没有出现 Scanf 提示。
问候