linux编程基础—文件I/O编程
Linux文件I/O主要由read、write、open、close、lseek五个函数组成;
一、文件描述符
在嵌入式Linux中每打开一个文件都有一个描述符与之对应,该描述符是一个非负整数;
当用open打开或新建一个文件时,该函数的返回值就是该文件的描述符;
当调用read、write函数来读写文件时,将文件描述符作为参数传进去;
二、函数介绍
1、open函数
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
函数形式:
int open(const char pathname, int oflag)
参数:一般使用两个参数
但创建文件时,会用到第三个参数
返回值:函数调用成功返回文件描述符
失败返回 -1
pathname—打开或创建文件的文件名;
oflag——控制标志,时多个常数进行或运算的结果,常见的标志有:
O_RDONLY:打开只读
O_WRONLY:打开只写
O_RDWR:打开读、写
以上三选一
&
相关文档:
CPU : ARM9 s3c2410
LCD : 规格不明(这个很无奈,但是我所知道的只有一个分辨率)
源码修改:
/linux-2.6.30.4/arch/arm/mach-s3c2410/mach-smdk2410.c
在这个文件中加入framebuffer的初始化数据结构(具体数据参照LCD技术手册)如下:
#include <mach/fb.h> ......
某外企面试linux开发职位面试题:
给出如下C程序,在linux下使用gcc编译:
#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"
int main(void)
{
pid_t pid1;
pid_t pid2;
pid1 = fork();
pid2 = fork();
printf("pid1:%d, pid2:%d\n", pid1, pid2);
}
  ......
1、引用在函数间是必须传递的,只要曾经是一个引用,就不能不引用
2、log4系列很好用,不过配置太麻烦了,可以参见
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/DailyRollingFileAppender.html
下周计划:
1、多线程处理
2、SDMC模块嵌入 ......
首先Perl mkdir 的语法是:
1.mkdir('dir', 代表九位二进制数字的十进制值)
设置775,则该值为十进制的509,即二进制的111111101
此数值不能设置为111111111即十进制的511即777。
2.mkdir('dir', 0常见unix3位权限)
可以设置777。
然后在linux下时,由于umask的原因,只能设置为755。
因为创建文件时的权限是umask和 ......