内存映射文件

内存映射文件

内存映射文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping)。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的 区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件进行映射。使 用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。另外,实际工程中的系统往往需要在多个进程之间共享数据,如果数据量小,处理方法是灵活多变的,如果共享数据容量巨大,那么就需要借助于内存映射文件来进行。实际上,内存映射文件正是解决本地多个进程间数据共享的最有效方法。

python 正则表达式

python 正则表达式

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 import re re.match #从开始位置开始匹配,如果开头没有则无 re.search #搜索整个字符串 re.findall #搜索整个字符串,返回一个list r(raw)用在pattern之前,表示单引号中的字符串为原生字符,不会进行任何转义 re.match(r'n','fanrong').group() #返回n re.match(r'n','fanrong') #返回None re.search(r'n','fanrong').group() #返回n

Linux 常用命令整理

Linux 常用命令整理

网络安全:查看Linux服务器是否被入侵 如果ps命令或netstat命令找不到,可以断定网络被入侵。 第一步:查看异常账户 last: 查看服务器近期登陆的账户记录 或者查看/var/log/secure日志,如果有除root外的用户登陆过, 检查/etc/passwd这个文件,看是否有异常账户, 有的话使用命令“usermod -L username” 禁用用户。 或则使用“userdel -r username” 删除用户。 Linux终端使用技巧================================= Shift+Ctrl+T :新建标签页 Shift+Ctrl+W :关闭标签页 Ctrl+PageUp :前一标签页 Ctrl+PageDown :后一标签页 Shift+Ctrl+PageUp :标签页左移 Shift+Ctrl+PageDown :标签页右移 Alt+1 :切换到标签页1 Alt+2 :切换到标签页2 Alt+3 :切换到标签页3 Shift+Ctrl+N :新建窗口 Shift+Ctrl+Q :关闭终端 终端中的复制/粘贴 : Shift+Ctrl+C :复制 Shift+Ctrl+V :粘贴 终端改变大小 : F11 :全屏 Ctrl+plus :放大 Ctrl+minus :减小 Ctrl+0 :原始大小

gvim 常用命令整理

gvim 常用命令整理

Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器 # ------ summary : FR-------------------------------- vi is an powerful file editor for programming in Linux OS. vim : vi improved gvim : GUI of vi two mode : editing and command mode .vim : highligh word file .vimrc : configuration file of VI # ------ file operation : FR------------------------- # ------ open a file : FR---------------------------- vi file_name : open a file for editing on a terminal vim file_name : gvim file_name : gvim is a GUI of vi # when open a file , vi is in insert mode by default :i : go to insert mode esc···

定点递归FFT 使用硬件递归实现正向和反向FFT

定点递归FFT 使用硬件递归实现正向和反向FFT

快速傅里叶变换是数字信号处理中最重要的操作之一,并且具有许多应用,例如,在通信信号的分析或音频和图像数据压缩算法的离散余弦变换。 //设X[n]是一个复杂序列,序列X[k]是X[n]的离散傅立叶变换,其中( 0≤n≤N-1, 0≤k≤N-1). 频域信号X[k],可表示为以下两种(1)、(2)形式:其中 得到最终表达式(5),一种简单的计算方式就是用递归算法实现: 未完待续................

Linux virtualbox共享文件夹没有访问权限

Linux virtualbox共享文件夹没有访问权限

Virtualbox搭建Linux虚拟机,虚拟机和主机之间传递文件最方便的方法就是共享文件夹。 假设将Windows下的share文件夹作为共享文件夹。设置好共享文件夹之后,进入虚拟机,进入该文件夹时,会发现共享文件夹无法访问,系统提示的原因是权限不足(Permission denied)。 在虚拟机下查看共享文件夹的属性,发现该目录的所有者是root,所属组是vboxsf。而一般而言我们登录的用户和所属组都是(你的用户名),所以确实没有权限:假设我当前登录普通用户为:fr

python 安装 Linux

python 安装 Linux

安装前先确定自带python版本x根据不同版本系统有所不同,可通过 python --V 或 python --version 查看系统自带的python版本,后面有用。注意:有一些系统命令时需要用到python2,不能卸载 建议安装前,配合这篇教程一起操作:《Linux 配置安装yum》

Linux 配置安装yum

Linux 配置安装yum

新安装了redhat6.5安装后,登录系统,使用yum update 更新系统。提示: This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 无法更新。 redhat 默认自带的 yum 源需要注册,才能更新。我们想不花钱也可以更新,需要替换掉redhat的yum源。文件以打包,可在下载页面下载

python库打包 导出 离线安装

python库打包 导出 离线安装

把现有的Python环境转移到另外一台机器上,建议配合上一篇《Python 虚拟环境 VirtualEnv》,新建虚拟环境下进行。可减少依赖包的数量,假设:我将要把env1的依赖环境打包发送给env2,env2收到env1包后可离线安装

Python 虚拟环境 VirtualEnv

Python 虚拟环境 VirtualEnv

VirtualEnv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来。同时也可以用于在一台机器上创建多个独立的python运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装

Win-API-03 串口读写

Win-API-03 串口读写

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

Win-API -02 获取窗口句柄

Win-API -02 获取窗口句柄

在Windows中,句柄是一个系统内部数据结构的引用。例如当你操作一个窗口,或说是一个Delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口最小化等等。实际上许多Windows API函数把句柄作为它的第一个参数,如GDI(图形设备接口)句柄、菜单句柄、实例句柄、位图句柄等,不仅仅局限于窗口函数。换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗口、位图、图标、内存块、光标、字体、菜单等