易截截图软件、单文件、免安装、纯绿色、仅160KB

LINUX 内存映射

在常规IO中,我们一般都是认为和文件系统做IO操作总是无法避免的必须不厌其烦的write,read,而事实上这种方式在进行一些大文件操作的时候,显得十分的不便,下面这段代码即展示了如果将物理硬盘上的数据映射到内存中,我们像操作普通的内存一样对文件进行读写:
#include <sys/mman.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <iostream>
#include <string.h>
using namespace std;
main(int argc, char** argv) // map a normal file as shared mem:
{
int fd,i;
char *p_map;
char cs[]="helloworld";
fd=open( argv[1],O_CREAT|O_RDWR,00777 );
p_map = (char*)mmap(NULL,10,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);
for(i = 0;i<10;i++)
{
cout << *(p_map+i);
}
memcpy(p_map,cs,10);
munmap(p_map,10);
}

结果如下:
Administrator@GZHT-D1FF475D33 /LINUX/pro/hello
$ ./man1.exe cc
qwertyuiop
Administrator@GZHT-D1FF475D33 /LINUX/pro/hello
$ cat cc
helloworld


相关文档:

Linux iptable文档

总览
用iptables -ADC 来指定链的规

,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......

Linux设备驱动开发详解 笔记4 Linux内核模块

modprobe命令比insmod命令强大,它在加载某模块时会同时加载该模块所依赖的其他模块。使用modprobe命令加载的模块若以“modprobe –r filename”的方式卸载将同时卸载其依赖的模块。
printk打印到var/log/messages
2.6内核中已加载的信息也存在于/sys/module目录下,加载hello.ko后,内核中将包含/sys/mod ......

Linux设备驱动开发详解 笔记6 字符设备驱动

使用下列洪可以通过主设备号和次设备号生成dev_t
MKDEV(int major, int mainor)
如果复制的内存是简单类型,如char、int、long等,则可以使用简单的put_user()和get_user()
Linux系统建议以如图方式定义ioctl命令码
 
命了码的设备类型字段为一个“幻数”,可以是0-0xff之间的值,内核中的ioctl-number ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号