CGO开发
总结CGO在开发中的注意事项。
空间法则
这个作者很懒,什么都没留下…
展开
-
Go语言中GBK字节数计算
Go语言GBK编码字节计算方式原创 2023-02-03 15:43:23 · 432 阅读 · 0 评论 -
Go语言和C语言数组的转换
本文主要介绍了两种不通语言之前字符串操作的一些方法,主要是字符串结尾符的处理,字符串长度的计算,理解后处理难度不大。原创 2022-11-16 10:37:56 · 389 阅读 · 0 评论 -
Go语言和C语言数组的转换
本文主要介绍了两种不通语言之前字符串操作的一些方法,主要是字符串结尾符的处理,字符串长度的计算,理解后处理难度不大。原创 2022-11-16 10:35:43 · 408 阅读 · 0 评论 -
CGO和JNA性能对比
cgo,jna,c/c++原创 2022-01-06 17:14:58 · 1504 阅读 · 0 评论 -
CGO登录海康设备并使用Go1.17 unsafe包新特性
本文通过一个常用的登录设备的例子,演示学习go1.17 unsafe.Slice方法的使用。具体例子如下:package main/*#cgo CFLAGS: -I./libs/hiksdk-6.1.4.51/include/#cgo LDFLAGS: -L./libs/hiksdk-6.1.4.51/lib/ -lHCCore -lhcnetsdk#include "HCNetSDK.h"#include <unistd.h>#include <string.h>原创 2021-11-12 11:30:56 · 1288 阅读 · 0 评论 -
Golang Arm H7芯片交叉编译环境配置
把交叉编译工具链加入到环境变量,然后设置go env,下面时要修改的部分:GOARCH="arm"GOARM="7"AR="arm-himix200-linux-ar"CC="arm-himix200-linux-gcc"CXX="arm-himix200-linux-gcc"设置完成之后,执行go build编译,最后放到嵌入式平台上运行即可。...原创 2021-09-28 09:58:48 · 299 阅读 · 0 评论 -
CGO开发总结
CGO开发总结准备类型定义结构体转化回调函数处理指针处理内存处理准备在cgo开发过程中,我们需要调用c语言写好的第三方库功能,此时就需要进行适当的处理,不是所有的.h文件cgo都是可以编译的。此时根据编译时的提示信息,对源.h文件进行修改,直到编译不报错,但不能改变源.h文件中函数原型的声明。如果源.h文件改动比较麻烦,且好多函数用不到,则可以单独写一个.h文件,把相应的函数生命单独拿出来。最后,准备好提供对应平台的动态库或者静态库,用来编译链接使用。类型定义首先查看c语言中.h文件中类型的定义原创 2021-09-28 15:19:02 · 468 阅读 · 0 评论 -
海康SDKHCNetSDK.h头文件修改为CGO可编译的
CGO海康SDK对HCNetSDK.h头文件修改1、NET_DVR_API 删掉;2、__std_call 删掉;3、#define xxx 删掉,只是定义;4、参数中含初始化值的语法删掉,如:= 5000= NULL= FALSE原创 2021-11-11 10:54:08 · 697 阅读 · 0 评论