问题: 1,LINUX上标准输入标准输出是行缓存的吗,我用_IO[NLF]BF宏定义与file结构中的_flag与只能得到标准错误的无缓存其它两个无输出,怎么可以得出? 2,标准file结构里的缓冲区大小_bufsiz好像我系统里file结构没有定义可能 是系统不一样这些都有差别,怎么得到这个大小? [code] stdio.h typedef struct _IO_file file; [/code] [code] libio.h struct _IO_file { int _flags; /* High-order word is _IO_MAGIC; rest...
by lovesaka - C/C++ - 2006-09-11 22:30:16 阅读(9448) 回复(8)
今天运行《unix 环境高级编程》里的5-3例子,结果编译时出现以下错误: app/5-3.c: In function `pr_stdio': app/5-3.c:32: structure has no member named `_flag' app/5-3.c:33: structure has no member named `_flag' app/5-3.c:35: structure has no member named `_bsiz' 我查了一下stdio.h头文件,不知道file结构在哪儿定义的,那位大虾知道是什么问题呢。 [ 本帖最后由 closetome123 于 2006-4-3 17:27 编辑 ]
因为在AIX 下定义 有 file->_file 表示当前已经打开的文件数。而 linux 好像没有这个成员。 struct _IO_file { int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ #define _IO_file_flags _flags /* The following pointers correspond to the C++ streambuf protocol. */ /* Note: Tk uses the _IO_read_ptr and _IO_read_end fields directly. */ char* _IO_read_ptr; /* Current read poin...
当fork一个自进程的时候内核会给子进程也创建一个file结构体还是只是给file结构的计数加1.如果只是加一的话,那如果父进程和子进程都想对文件进行读写,那指针问题怎么解决呢?大家注意一下,是小写的file 不是用户态那个file文件流指针。 谢谢 [ 本帖最后由 wangqi0021 于 2008-4-1 15:41 编辑 ]
最近刚刚开始学习驱动 看到字符驱动就有很多不明白的地方 file中有指针*f_op指向file_operation 而file_operation中操作 比如ssize_t(*read) (struct file*,char,size_t,loff_t*) 中又包含了file指针 看起来像互相包含,所以很难理解 我开始理解是先注册major,minor和设备名称 然后建立一个对应的文件结构,文件中的*f_op是file_operation结构的入口 驱动就是通过file去调用*f_op中的read,write等具体的函数 file_operation中的fi...
#include