XXX
发布时间:2013-03-21 11:32:59
#define MACRO_NAME(para) do{macro content}while(0)的格式,总结了以下几个原因:1,空的宏定义避免warning: #define foo() do{}while(0) 2,存在一个独立的block,可以用来进行变量定义,进行比较复杂的实现。3,如果出现在判断语句过后的宏,这样可以保证作为一个整体来是实现: #define foo(x) \&......【阅读全文】
发布时间:2013-03-21 11:24:18
点击(此处)折叠或打开#include <linux/types.h> //dev_t,MAJOR,MINOR,MKDEV#include <linux/fs.h> //file_operations,struct file,struct indoe,register/unregister_chrdev,register/alloc/unregister_chrdev_regino,#include <linux/cdev.......【阅读全文】
发布时间:2013-03-21 11:16:58
在32位机器下,默认情况下,文件长度是off_t类型,这个可以从ftrucate的参数,从stat获取的文件属性struct stat中都可以看出文件的长度是用off_t类型表示的,即文件的长度在32位机器下默认是long int类型。 所以,默认情况下,在Linux系统下,fopen和open操作的文件大小不能超过2G。 我们制造了一个异常文件,5G左右,可以使用dd命令来构建,也可以写个脚本来构建。 &n......【阅读全文】