高级编程之目录(一)
2016-01-22 13:58
218 查看
目 录 流
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.多个文件使用动态库时,内存中只需一份就可以完成
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.多个文件使用动态库时,内存中只需一份就可以完成
相关文章推荐
- C语言实现strcpy
- 关于struts2的那点事
- 高级编程之文件I/O(二)
- C++:多态性1(动态联编测试)
- 高级编程之文件I/O(一)
- static关键字--java
- 学习Faster-RCNN (一)跑Faster-RCNN的python版demo
- php 中的 0 和 null
- Vector and ArrayList in Java
- Java 方法
- C语言实现strlen
- 手动编译JAVA类
- JavaSE001_String类总结之构造器和常用方法
- vbs-获取公网IP调用邮件控件实现邮件的自动发送到指定邮箱-可直接使用复制使用
- android studio 导入eclipse遇到的相关问题
- PageAdapter,FragmentPagerAdapter与FragmentStatePagerAdapter
- java ftp相关的异常汇总
- 【PHP进阶篇】3.类与面向对象--慕课网【学习总结】
- Spring+MVC项目发布停止
- FtpClient对ftp服务器进行上传及下载