分类: LINUX
2012-01-29 01:22:10
1、API(应用程序接口)库分为glibc库和posix库,都放在busybox里面
2、查看函数的帮助文档:man x 函数名,其中x表示2、3、4,可以试着去使用,比如man 2 printf,表示查看printf函数以及其使用说明等等。
3、文件的读写(可以到网上下载到《linux下c函数速查手册》)
glibc库:
fopen、fclose、fread、fwrite、fseek让fwrite的东西快速写入fd(磁盘)中,以防丢失、feaf是否结束、fsync文件同步、fget……
生产时,注意及时关闭资源,可以用ulimit -n查看linux最多允许打开的文件
posix库:
open、close、read、write、lseek
4、捕获系统异常的函数
strerror()
perror()
errno()实际是个宏,每个文件对应一个宏,每个宏对应不同的错误信息。
h_errno()
fileno()
memset(buffer,‘\0’,buffer_size)清空缓冲区
5、glibc库文件与posix库文件的区别
glibc库用的文件指针,而posix库用的是文件描述符。
他们的转换图如下:文件描述符-----fdopenà文件指针,文件指针-----filenoà文件描述符。
6、glibc文件三大结构
1)物理文件:文件索引号ls -il(inode index)是唯一的,struct inode{ }
2)文件可以被多次打开:每个文件都会有一个struct file(FILE*, int)。其中两个参数表征当前被打开的文件两个信息,FILE*-----文件指针,int-----文件描述符,表征当前被打开的文件,是大于0的整数。
文件描述符 0 1 2
FILE* stdin stdout stderr
Int STDIN_FILENO STDOUT_FILENO STDERR_FILENO
同一文件没打开一次有一个文件描述符,是从小到大分配的,顺序递增。
3)文件操作struct file operations
7、文件属性(用ls -trl查看)
1)命令chmod、chown、touch、systeam
2)函数chmod、chown、stat、fstat
3)umask 0000 把创建的都改为具有写权限(它既是命令也是函数)
4)文件类型:8表示普通文件,4表示文件夹
8、文件描述符互斥以及一些重要函数
dup标准输出、fcntl改变一个文件的属性
mmap建立内存映射、munmap、msync更改文件内容
目录操作函数:readdir读取目录、opendir、closedir、scandir、telldir、mkdir、rmdir、removedir、unlink、chdir切换目录、getcwd获取当前文件夹。
时间函数:time 、localtime、strftime时间格式符输出。例如:time_t t;time(&t);//t = time(NULL);
随机数函数:rand、srand随机数种子。例如:rand()0表示产生0—99的随机数
整型、float转换为字符串:fprintf
字符串转换为整型、float:atoi
strstr在一个字符串中找指定的字符串
sleep(1);//usleep();
API……
9、段错误调试方法 core dump调试