包含标签 golang 的文章

Golang使用海康威视SDK

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 接上一篇文章SWIG编译海康威视SDK-使用golang,这篇文章讲述的是如何使用编译好的文件,这涉及到SWIG和golang结合的问题 引入 编译好了之后.a文件会出现在GOPATH下,直接在import里面引入hikvision就可以了,build的时候会自动找到对应的.a文件 使用 下面从两个方面来介绍 golang中已有的类型对应关系 C里面typedef的值的对应关系,例如海康威视有BOOL,DWORD等 golang中已有的类型对应关系 这里说的已有的类型是指在C语言中已经有了,比如说int,char*等,具体的对应关系表网上有很多,SWIG在这里的策略和cgo是一样的,这里给一个链接。这里就不多说了,在函数调用的时候可以直接把对应的go值传进去而不需要转换……

阅读全文

Filetools工具

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn filetools工具 本人用golang写的一个小工具,用于对文件进行操作,项目地址在这:filetools 安装 暂时无法直接提供编译好的二进制文件,等我啥时候有时间了研究下CI工具再说。 现在已经可以提供二进制下载了,去github release上找就行,想安装最新版的可以从源码安装 1 go get -u github.……

阅读全文

学习正则表达式

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 历史 正则表达式萌芽于1940年代的神经生理学研究,由著名数学家Stephen Kleene第一个正式描述。具体地说,Kleene归纳了前述的神经生理学研究,在一篇题为《正则集代数》的论文中定义了“正则集”,并在其上定义了一个代数系统,并且引入了一种记号系统来描述正则集,这种记号系统被他称为“正则表达式”。在理论数学的圈子里被研究了几十年之后,1968年,后来发明了UNIX系统的Ken Thompson第一个把正则表达式用于计算机领域,开发了qed和grep两个实用文本处理工具,取得了巨大成功。在此后十几年里,一大批一流计算机科学家和黑客对正则表达式进行了密集的研究和实践。在1980年代早期,UNIX运动的两个中心贝尔实验室和加州大学伯克利分校分别围绕grep工具对正则表达式引擎进行了研究和实现。与之同时,编译器“龙书”的作者Alfred Aho开发了Egrep工具,大大扩展和增强了正则表达式的功能。此后,他又与《C程序设计语言》的作者Brian Kernighan等三人一起发明了流行的awk文本编辑语言。到了1986年,正则表达式迎来了一次飞跃。先是C语言顶级黑客Henry Spencer以源代码形式发布了一个用C语言写成的正则表达式程序库(当时还不叫open source),从而把正则表达式的奥妙带入寻常百姓家,然后是技术怪杰Larry Wall横空出世,发布了Perl语言的第一个版本。自那以后,Perl一直是正则表达式的旗手,可以说,今天正则表达式的标准和地位是由Perl塑造的。Perl 5.……

阅读全文

Go Modules的使用

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 自从go1.11版本后,golang官方给出了一个管理第三方依赖的方式——Go Modules,这是官方提倡的新的包管理机制。 go modules的初始化 如果你使用的是golang-1.11的版本,你需要先将环境变量GO111MODULE设置为on,网上也有说法当当前目录里面有go.mod文件的时候会自动开启(默认是auto),由于笔者已经将版本升至1.12,没有尝试。 和传统的GOPATH不一样,不要繁琐的src,bin等子目录,任何目录均可成为modules(前提是不在GOPATH里面),只要其中包含go.mod文件。 那么如何包含go.mod文件呢,你可以选择新建这个文件,然后在首行写上module {name}即可,更好的做法是执行下面的命令……

阅读全文

SWIG编译海康威视SDK 使用golang

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 吐槽的话 先允许我吐槽一下海康威视的SDK有多难用SWIG编译 编译过程 准备工作 先声明我编译的是linux版本的,环境是ubuntu 18.04,还没有开始做开发,但是编译的过程没有报错 Tips:……

阅读全文

Golang的小技巧

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn go命令行参数 编译 go build 是最简单的编译命令,对于一个包,这个命令只会做检查,即检查包是否有编译错误,对于main则会生成一个可执行文件. 参数 参数含义 -o 指定输出的可执行文件名称 -x 输出详细信息,包含编译时的每一步骤 cgo cgo是go语言对于和C语言混合编程所给出的官方解决方案,用C包解决,对于使用了cgo的包来说,其编译可以有额外的参数……

阅读全文