保留现场
undefined reference to sleep
同样的问题。
在使用 C 语言线程函数时,需要包含#include <pthread>
,编译时就会报这种错误。
探究原因
pthread
库不是 Linux
系统默认的库,连接时需要使用静态库 libpthread.a
,所以在使用pthread_create()
创建线程,以及调用pthread_atfork()
函数建立fork
处理程序时,需要链接该库。
解决方法
gcc thread.c -o thread -lpthread
如果是Makefile
配置的编译条件,在Makefile
文件中加上如下:
CFLAGS += -lpthread