Golang1.7使用kernel32.dll 读取共享内存,代码小示例
来源:互联网 发布:p2p理财 知乎 编辑:程序博客网 时间:2024/06/06 17:49
package mainimport ( "fmt" "syscall" "unsafe")func main() { ShareMemName, _ := syscall.BytePtrFromString("ShareMemory") //ShareMemory共享内存名称. var sharememname = uintptr(unsafe.Pointer(ShareMemName)) kernet32 := syscall.NewLazyDLL("kernel32.dll") OpenFileMapping := kernet32.NewProc("OpenFileMappingA") ptr, _, err := OpenFileMapping.Call(0x0004, 0, sharememname) //0x0004 表示只读 if err.Error() != "The operation completed successfully." { fmt.Println("This:", err) return } ptr, err = syscall.MapViewOfFile(syscall.Handle(ptr), 0x0004, 0, 0, 0) if err != nil { fmt.Println("There:", err) return } buf := *(*[60]byte)(unsafe.Pointer(ptr)) //我共享内存里面使用的是字符串所以这里映射成[:]byte array fmt.Println(string(buf[:])) err = syscall.UnmapViewOfFile(ptr) fmt.Println(err)}
2 0
- Golang1.7使用kernel32.dll 读取共享内存,代码小示例
- 内存共享代码示例
- java使用JNA调用系统Kernel32.dll文件示例
- 共享内存示例代码如下:
- shm共享内存使用示例
- kernel32.dll
- golang1.7 关于CGO的一个小问题:C.free使用.
- 使用ctypes调用kernel32.dll中的函数
- Golang1.7使用CGO在Go代码中定义C函数
- linux下共享内存(shm)使用示例
- Linux共享内存示例,使用信号量同步
- DLL共享内存
- DLL 内存共享
- VC建立与修改共享内存区示例代码
- linux进程通信(一)--共享内存+信号量,代码示例
- linux进程通信(一)--共享内存+信号量,代码示例
- linux进程通信(一)--共享内存+信号量,代码示例
- windows共享内存示例
- 【linux】ubantu下Apache无法启动(80端口被占用)
- MongoDB从不懂到装懂其三(Java操作MongoDB)
- linux软件安装:源码(1)
- LU分解的实现
- 博弈论
- Golang1.7使用kernel32.dll 读取共享内存,代码小示例
- CodeForces597BRestaurant(sort+贪心)
- Pasha and Stick
- HDU 4267-Phage War-线段树
- windows 堆管理
- NYOJ 330 一个简单的数学题【思维】
- HDU 1527 取石子游戏 【威佐夫(Wythoff)博弈入门题】
- Notification 的使用
- 【CodeForces】599A - Patrick and Shopping(枚举)