这个会返回4,是错的:

tcallback((unsigned char*)pFrameRGB->data

func callDll() {dll := syscall.MustLoadDLL("hik_client.dll")callback := syscall.NewCallback(func(r uintptr, size int) (ret uintptr) {//var data = make([]byte, size)//// p := unsafe.Pointer(&r)// q := (*[4]byte)(p)// copy(data[0:], (*q)[0:])p := (*uint8)(unsafe.Pointer(&r))//fmt.Printf("value a is %s\n",(*uint8)(unsafe.Pointer(&r)))// 定义一个[]byte切片,用来存储C返回的字符串data := make([]uint8, 0)// 遍历C返回的char指针,直到 '\0' 为止for *p != 0 {data = append(data, *p)  // 将得到的byte追加到末尾r += unsafe.Sizeof(byte(0))  // 移动指针w,指向下一个charp = (*uint8)(unsafe.Pointer(r))  // 获取指针的值,此时指针已经指向下一个char}//name := string(data)fmt.Printf("from callback1: %d %d\n", size, len(data))//,name)return 0})

go dll char[]相关推荐

  1. go 调用dll char*传输

    参考:http://www.voidcn.com/article/p-ofnbgvoa-bpv.html https://stackoverflow.com/questions/53721215/sy ...

  2. go dll char* memcpy

    dll := syscall.MustLoadDLL("hik_client.dll")callback := syscall.NewCallback(func(r uintptr ...

  3. Mac 下编译 libmono.so 和 DLL 加密详解

    Unity 打出的安卓包为了防止反编译,需要对 Assembly-CSharp.dll 加密处理.Assembly-CSharp.dll 是由 libmono.so 运行时读取然后在 mono 虚拟机 ...

  4. dm.dll注册(大漠插件注册)

    环境:vs2005 windows07 如果发现程序无法运行,需要安装vc插件,自行百度. 具体步骤如下 1.在网上获取dm.dll 然后还有大漠的.chm帮助文件 2.新建MFC对话框程序 3.添加 ...

  5. PE病毒初探——向exe注入代码

    PE文件其实就是Windows可执行文件,关于它的一些简要介绍摘自百度: PE文件被称为可移植的执行体是Portable Execute的全称,常见的EXE.DLL.OCX.SYS.COM都是PE文件 ...

  6. SafeSEH原理与对抗

    SafeSEH原理 在 Windows XP sp2 以及之后的版本中,微软引入了 S.E.H 校验机制 SafeSEH.SafeSEH 需要 OS 和 Compiler 的双重支持,二者缺一都会降低 ...

  7. 在Ring3上实现文件碎甲(解锁)功能

    一.概述: 如果一个病毒文件被植入正在运行的进程中,我们想要清除它时系统总会提供无法删除:有时编辑文件的进程被意外中止而文件句柄没有正确释放,导致此文件无法进行改写操作.现在我们会使用Unlocker ...

  8. CString截取字符串全攻略

    CString截取字符串全攻略 源地址 http://blog.163.com/seraph_leo/blog/static/1689297102010786206361/?fromdm&fr ...

  9. 页面异常反dump 及 内存访问异常hook

    第七章:应用层保护 加密,加壳,反调试,混淆... 静态保护:去静态特征,去字符串,全局指针等. 动态保护: 在dump模块的方法中,一般会调用ReadProcessMemory来读取,可以修改PE结 ...

最新文章

  1. java web 监听器 例子_Java web技术应用---监听器
  2. python扫雷的代码及原理_基于Python实现的扫雷游戏实例代码
  3. jsch设置代理_尽管在JSch中设置了STRICT_HOST_CHECKING,但仍获取UnknownHostKey异常
  4. 软件测试理论入门(二)
  5. 通过opencv的函数进行图片修复:cv2.inpaint()
  6. 排序字段设计_内容搜索排序表达式的最佳实践
  7. Java指定几个标点符号(或分割)分割字符
  8. windows下SBT的安装与使用
  9. vue路由配置src/router/index.js
  10. IIS的状态代码(微软文档)
  11. 神经网络模型参数的压缩
  12. 关于Java的this关键字
  13. 关闭TOMCAT日志的三个方法
  14. mysql中日期相减_1104绝密公式,如何直接用2个日期直接算剩余时间区间
  15. FreeSWITCH之ESL接口
  16. 新手初步--Springmvc
  17. cd40系列芯片_CD4068_CD4068PDF资料详细参数下载_Powered by 奥伟斯
  18. Python干货:破解40大机器学习面试题(包含初中高级)
  19. 年薪50万的程序员_如何才能撩到年薪50万的程序员?
  20. 企鹅的java游戏_那只小企鹅终究要和我们告别了,腾讯又两款游戏宣布停运

热门文章

  1. Qemu之Network Device全虚拟方案
  2. 计算机地质应用软件,中国地质大学《质软件应用》作业报告.doc
  3. 安装mysql总是未响应状态_求助啊 WIN7下安装mysql出问题 老是说未响应~!!
  4. 莫比乌斯函数_莫比乌斯环:python-matplotlib可视化实现
  5. 数据结构 二叉树
  6. c语言if判断正确却不进函数,C语言初学者,为什么满足if条件却不进入,求大老解惑...
  7. python计算结果传给spark_将Python函数作为对象传递给Spark
  8. oracle中执行动态sql语句吗,oracle中有没有可动态执行sql语句的函数
  9. 机器视觉_Java机器学习,第2部分
  10. 前端html继承的方式,好程序员web前端教程之JS继承实现方式解析