dirent.h #include <dirent.h> 是POSIX.1标准定义的unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数、readdir函数. opendir函数: DIR *opendir(const char *pathname);返回值:若成功则返回指针,若出错则返回NULL。 struct dirent *readdir(DIR *dp); 返回值:若成功则返回指针,若在目录结尾或出错则返回NULL。 fcntl.h fcntl.h与unistd.h fcntl.h定义了很多宏和open,fcntl函数原型 unistd.h定义了更多的函数原型 使用#include <pthread.h> 在Linux中使用线程相关的东西就要使用到这个头文件,但这还不算。如果仅仅使用这个头文件,会出现错误: undefined reference to `pthread_create' collect2: ld returned 1 exit status make: *** [threadid] Error 1 之所以出现这样的错误,是因为我们没有链接相应的函数库。所以在编译的时候要加上 –lpthread 选项。 Makefile文件如下: CC = gcc CFLAGS = -I/home/cat/apue/apue.2e/include -Wall -g threadid: threadid.o $(CC) $(CFLAGS) -o $@ $^ -lpthread