现在的位置: 首页 > 综合 > 正文

几个C头文件

2018年04月18日 ⁄ 综合 ⁄ 共 625字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.