# node-filemap-buf **Repository Path**: bellcode/node-filemap-buf ## Basic Information - **Project Name**: node-filemap-buf - **Description**: 基于node-addon-api编写的插件,通过调用window file mapping的api来获取内存,实现进程间内存共享 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2022-09-20 - **Last Updated**: 2024-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # node-filemap-buf #### 介绍 基于node-addon-api编写的插件,通过调用window file mapping的api来获取内存,实现进程间内存共享 #### 运行环境 - node >= v16.17.0 - window 10 #### 编译插件 1. cd addon 2. npm install (会下载依赖的npm包,并自动运行node-gyp rebuild) 编译成功后,会生成build目录,构建成功的插件文件在build/release/addon.node 修改了C++代码重新编译 node-gyp rebuild #### 使用说明 在addon/js目录下有模拟两个进程共享内存的测试脚本 模拟进程创建file mapping 1. 用管理员启动命令行 (否则会提示错误码 5, 表示权限被拒绝) 2. cd addon/js 3. node producer.js (该脚本创建512*512大小的内存,并连续不断的写入0-255的值) 模拟进程打开file mapping 1. 启动命令行 (读取不需要管理员权限) 2. cd addon/js 3. node consumer.js (该脚本读取file mapping的内存,并输出内存大小) 为了更好演示这控件的效果,我写了一个nodejs的web页面,用canvas实时展现512*512内存的数据(灰度图),可以看到画面平滑的由白变黑 1. 启动命令行 2. cd web 3. npm install 4. node index.js 用浏览器打开 http://127.0.0.1:3000/