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
相关文档:
我用的是最普通的usb摄像头,主芯片为中星微ZC0301P(据说市场占有率70%以上),COMS传感器为hynix的hv7131e1,市面上能买到的基本上是这种配置。
linux下驱动,我直接移植spca5xx,现在出了spc5xx-le(Light-Edition for Linux Embedded)更方便,直接针对嵌入式系统做了优化,可以参考这里http://mxh ......
1.创建目录
mkdir [-p][--help][--version][-m <目录属性>][目录名称]
-m可以对目录设置存取权限,也可以用chmode命令设置,
-p 可以是一个路径名称,如果路径中有些目录不存在,那么会自动创建
2.删除空目录
语 法:rmdir [-p][--hel ......
今天,把windows下的工程导入到了Linux下eclipse中,由于以前的工程代码,都是GBK编码的,而Ubuntu默认是不支持GBK编码的。所以,首先我们要先让Ubuntu支持GBK,方法如下:
1.
修改/var/lib/locales /supported.d/local文件,在文件中添加
z ......
1.首先ldd不是一个可执行程序,而只是一个shell脚本
2、ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、
LD_VERBOSE等。当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模 ......
[root@localhost root]# ls -l
会显示目录或文件信息:drwxr-xr-x 2 root root 4096 06-29 14:30 Test
-rwxr--r-- 2 root roo ......