目 录 流
1.DIR *opendir(const char *name);
功能:
打开一个目录获得一个目录流指针
参数:
name:文件名
返回值:
成功目录流指针
失败返回NULL
2.struct dirent *readdir(DIR *dirp);
功能:
从目录流中读到一个文件的信息
参数:
dirp:目录流指针
返回值:
返回一个关于文件属性的结构体指针
目录信息读取完毕或者出错返回NULL
3.int stat(const char *path, struct stat *buf);
功能:获得文件的属性
参数:
path:文件的路径
buf:把文件的属性放在buf指向的空间中
返回值:
成功返回0
失败返回-1
库的制作
1.静态库
编译时加载的库
1.gcc -c add.c -o add.o
2.ar crs libmyadd.a add.o
3.gcc main.c -o main -L. -lmyadd
2.动态库
执行时记载的库
1.gcc -fPIC -c add.c -o add.o
2.gcc -shared add.o -o libmyadd.so
3.cp libmyadd.so /usr/lib
4.gcc main.c -o main -lmyadd
静态库和动态库的区别
1.静态库是在编译的时候加载而动态库是在执行时加载
2.静态库会使程序体积变大
3.多个文件使用动态库时,内存中只需一份就可以完成