C pthread.h无法正常工作

时间:2018-03-28 02:54:30

标签: c multithreading pthreads

我正在使用gcc 4.6.3,我正在尝试编写一个通过线程使用异步流程的程序。经过一些研究,我认为threads.h最适合Windows,pthread.h最适合POSIX系统。所以我使用了pthread.h

经过大量的调试,我得到了我的代码。

#include <pthread.h>
#include <stdio.h>

void *exe(){
  char i;
  for(i = 0; i < 0; i++){
    printf("%c\n", i);
  }
}

int main(){
  long unsigned int *id = (void *)1ul;
  int d = pthread_create(id, NULL, exe, NULL);
}
  

这段代码无意使用,我自学线程。

问题在于它会抛出错误

exit status 1
/file/path.o: In function `main':
main.c:(.text+0x5d): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status

似乎pthread_create函数未定义,但我已经包含了库,它没有给我任何目录找不到错误。

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:0)

使用

编译和链接
gcc -pthread main.c