我正在使用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
函数未定义,但我已经包含了库,它没有给我任何目录找不到错误。
有谁知道为什么会这样?
答案 0 :(得分:0)
使用
编译和链接gcc -pthread main.c