几个C头文件

dirent.h

#include 

是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 
     在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


你可能感兴趣的:(几个C头文件)