runtime error: invalid memory address or nil pointer dereference

解决方法:

tcallback((unsigned char*)packet->data,packet->size);

但是只能收到第一个数据。

问题代码:

c++:

tcallback((unsigned char*)packet->data[0],packet->size);

go:

package mainimport ("syscall""unsafe""fmt"
)
import "C"type Callback func(data []byte, size int,dtype int,width int,height int) intfunc get_byte(data []byte, size int,dtype int,width int,height int) int{fmt.Println(size,width)return 0
}func callDll() {dll := syscall.MustLoadDLL("hik_client.dll")callback := syscall.NewCallback(func(r uintptr, size int) (ret int) {p := (*byte)(unsafe.Pointer(r))// 定义一个[]byte切片,用来存储C返回的字符串data := make([]byte, 0)// 遍历C返回的char指针,直到 '\0' 为止for *p != 0 {data = append(data, *p)  // 将得到的byte追加到末尾r += unsafe.Sizeof(byte(0))  // 移动指针wwwwwwwwwwwwwwwwwwwwwwwwwwwww,指向下一个charp = (*byte)(unsafe.Pointer(r))  // 获取指针的值,此时指针已经指向下一个char}fmt.Printf("from callback1: %d %b\n", size, cap(data))return 0})var filename stringfilename = "rtsp://admin:sbdwl123@192.168.25.45:554/h264/ch1/main/av_stream"procGreet := dll.MustFindProc("byte_url")procGreet.Call(uintptr(unsafe.Pointer(syscall.StringBytePtr(filename))), callback)

runtime error: invalid memory address or nil pointer dereference相关推荐

  1. v2ray服务端启动出现panic: runtime error: invalid memory address or nil pointer dereference

    panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentatio ...

  2. 解决docer login报错 panic: runtime error: invalid memory address or nil pointer dereference

    问题描述 不知道自己做了什么操作,然后进行docker login的时候,突然出现以下错误 panic: runtime error: invalid memory address or nil po ...

  3. panic: runtime error: invalid memory address or nil pointer dereference

    只可以给索引1和3赋值,因为只有它们分配了内存,才可以赋值,如果我们给索引0赋值,运行的时候,会提示无效内存或者是一个nil指针引用. 解决办法 :我们要先给索引0分配内存,然后再进行赋值修改.

  4. go 结构体赋值 invalid memory address or nil pointer dereference

    go 指针结构体赋值 1.前言 2.举例 3.分析 4.解决 1.前言 日常生产中,当我们使用go指针结构体赋值时,会报出invalid memory address or nil pointer d ...

  5. 华为交换机S5735使用dhcp绑定地址报错:Error: Invalid MAC address.

    出现这种情况排除是MAC地址输错,可能是系统bug,去官网下载各相对应型号的补丁,打一个补丁即可解决. 这里以S5735为例 官方下载地址:S5700 S5735-L-V200R019SPH057.p ...

  6. panic: runtime error问题分享

    panic: runtime error: invalid memory address or nil pointer dereference 关于这个错误问题panic: runtime error ...

  7. java memory access_Jna报Invalid memory access错误是怎么回事?

    1.各位大神,在用jna时,总是报错,如下 Exception in thread "main" java.lang.Error: Invalid memory access at ...

  8. pytorch在调用GPU的时候出现cuda runtime error (2) : out of memory at ..\aten\src\THC\THCGeneral.cpp:50

    这是因为GPU中的显存占满了,在任务管理器中关闭程序即可 @[TOC](pytorch在调用GPU的时候出现cuda runtime error (2) : out of memory at -\at ...

  9. Line 923: Char 9: runtime error: reference binding to null pointer of type ‘int‘ (stl_vector.h)

    Leetcode 报错 Line 923: Char 9: runtime error: reference binding to null pointer of type 'int' (stl_ve ...

最新文章

  1. EVEREST Corporate Edition 使用SQL保存数据的简易方法
  2. python快速编程答案-100+Python编程题带你快速上手(附答案)
  3. 如何更改github工程的语言属性
  4. 使用Chrome打开http://www.cutv.com/demo/live_test.swf页面时swf文件自动下载问题
  5. 认证授权方案之授权揭秘 (上篇)
  6. linux python安装pip_linux安装pip2.7
  7. EF的表连接方法Include() - nlh774
  8. 六大手机软件商店分析报告
  9. 搜索,推荐,广告系统架构及算法技术资料大合集吐血整理——2020年终分享
  10. 简易计算器的c语言编辑代码
  11. Swing - 简单入门
  12. linux根据文件名批量下载,Linux下多文件按照指定顺序批量解压和按照指定文件名更名...
  13. Linux7下Mysql5.7搭建MHA(0.58版本)
  14. 《活出生命的意义》读后感
  15. android 横屏竖屏设置,Android中强制设置横屏与竖屏,与横竖屏生命周期的设置
  16. YUI介绍以及快速入门 Yahoo的JS框架
  17. 仿QQ空间评论随软键盘弹出和收回一个输入布局
  18. MIKE 21 教程 2.8 水中构筑物(堰、涵洞、阀门、堤防、桥墩、涡轮机)
  19. 超短线地挂单买卖技巧
  20. unity制造登录界面_由Unity Showcase花名册和Unite '16洛杉矶制造

热门文章

  1. java 导入包报错_Intellij IDEA 导入个推jar包 报错java.lang.NoClassDefFoundError
  2. c++find函数_Excel中八大经典函数组合,帮你整理齐了
  3. java怎么创建二进制文件_Java:如何编写二进制文件?
  4. Linux内核网络丢包查看工具dropwatch的安装和使用
  5. 3 账套升级u8_用友U8条码管理的应用对仓库有什么好处?
  6. 卸载iso linux系统文件夹,在Ubuntu系统中如何卸载光盘/DVD/ISO
  7. mockito_Eclipse的Mockito模板
  8. java中文转拼音 多音字_java使用jpinyin汉语转拼音(支持多音字)
  9. css设定div固定比例,响应式网页中,如何只用CSS实现div的高和宽保持固定比例
  10. 皮一皮:直男的拍摄水平...