1) cgo https://github.com/golang/go/issues/9520 ...
分类:
其他好文 时间:
2016-08-19 14:43:20
阅读次数:
244
github上有两个package做编码转换,都是基于iconv,用到了cgo,在linux下没有问题,在windows下用,非常麻烦。采用mingw安装libiconv也不行,一直提示找不到libiconv方法。 最终找到一个官方实现(纯go实现):https://code.google.com/... ...
为了能够重用已有的C语言库,我们在使用Golang开发项目或系统的时候难免会遇到Go和C语言混合编程,这时很多人都会选择使用cgo。 话说cgo这个东西可算得上是让人又爱又恨,好处在于它可以让你快速重用已有的C语言库,无需再用Golang重造一遍轮子,而坏处就在于它会在一定程度 上削弱你的系统性能。 ...
分类:
其他好文 时间:
2016-05-29 10:47:24
阅读次数:
298
到源代码目录下执行:Linux/amd64 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build sina.go不带前面参数的 go build 只是编译出开发环境适用的执行文件 到源代码目录下执行: Linux/amd64 CGO_ENABLED=0 GOO ...
分类:
其他好文 时间:
2016-04-08 18:21:13
阅读次数:
440
1.基本类型转换较简单,直接用强制类型转换就可以,如下:Go转换成C:
variint
ci:=C.int(i)
C转换成Go:
variC.int
goi:=int(i)2.字符串类型转换也不是很难,有一点需要注意,就是在将C语言中的char数组转换成Go的string时需要做一点小修改,如下:Go转换成C:
varstrstring
..
分类:
编程语言 时间:
2016-01-22 03:18:49
阅读次数:
154
Go语言中使用SQLite数据库1、驱动Go支持sqlite的驱动也比较多,但是好多都是不支持database/sql接口的https://github.com/mattn/go-sqlite3 支持database/sql接口,基于cgo(关于cgo的知识请参看官方文档或者本书后面的章节)写的ht...
分类:
数据库 时间:
2015-12-06 22:25:58
阅读次数:
592
安装 1.5 时,直接覆盖 1.4.2,结果不能用了,报错:imports runtime: C source files not allowed when not using cgo or SWIG 解决方法是删掉 go 1.5……然后修复安装一遍。 优化:1、加了计时功能...
分类:
其他好文 时间:
2015-08-21 19:45:03
阅读次数:
195
// 模拟库函数strstr
#include
#include
const char* my_strstr(const char *parent, const char *child)
{
const char *pgo = parent;
const char *cgo = child;
const char *pgos = parent;
assert(parent != ...
分类:
编程语言 时间:
2015-07-04 12:43:16
阅读次数:
216
作用:比如你手头只有Mac系统,而你的用户有Linux和Windows的,他们也想用,你可以通过交叉编译出Linux和Windows上的可执行文件给他们用(1)首先进入go/src 源码所在目录,执行如下命令创建目标平台所需的包和工具文件。$ cd /usr/local/go/src$ CGO_EN...
分类:
其他好文 时间:
2015-05-12 10:57:01
阅读次数:
121
服务端的某个项目,要考虑到性能问题,之前使用基于公司框架的php,性能有瓶颈,经过调研,决定使用go。因为之前有一个关键模块已经使用c++实现,所以计划使用go做HTTP容器,让go和c++模块结合起来。
在网上调研结合方案,go自带的cgo只支持c语言,swig工具可以支持多种语言结合c++,所以决定使用swig,这里简要叙述下swig的使用和一些发现的要点。
1. 我们解压了swig后,首先...
分类:
编程语言 时间:
2015-04-16 14:22:26
阅读次数:
114