linux下go的动态链接库的使用

在使用lua进行服务器端游戏逻辑开发时,发现了LUA的各种不方便的地方,不能编译检查,不能断点调试,笔误的函数和变量不提示出错等等,所以有了全部使用go来做服务器端开发的想法。 如果不需要热更新,那使用go开发服务器逻辑是很轻松的,而游戏服务器特别是页游,一般都需要支持热更新,所以我决定使用go的动态链接库方式来实现,也就是底层框架是go,上层逻辑是go的动态链接库。go原生不支持动态链接库,在查阅了很多文章之后,决定使用gccgo来实现。 经过了大约一周的时间,终于把框架搭建起来了,期间遇到了...阅读全文

CSDN博客 2014-03-16 17:18 xtxy

why go?

Go编程语言开始于2007年。原始设计者Robert  Griesemer 和Unix大师 Rob Pike和Ken  Thompson。2009年11月10日,Go公开公布开源自由许可。 选择go的理由: Go设计可有效地扩展,以便用于构建大的应用程序。 编译速度快。语言容易解析,编译轻快。还有就是它的依赖管理。如app.go分别依赖pkg1.go和pkg2.go对象文件,传统编译语言需求依赖pkg1.go和pkg2.go对象文件。但是Go,pkg2.g...阅读全文

开源中国博客 2013-02-04 00:00 yang.z

使用 beego 搭建 web 应用之一

介绍 你是一个从PHP,Python,Ruby等动态语言转移到Go的web应用开发人员吗?想知道怎样使用Go开发基于web的应用程序吗?你想要知道怎样使用类似于已知的框架的方式进行开发,在那儿你能重复的利用已知的知识? 如果是这样,那么你可能已经做了一些搜索,无论是在谷歌,StackOverflow的或其他网站,以寻求一个框架来帮助你;你可能已经看到了有许多可能的选择,包括Beego,Martini和Gorilla,另外还有net/http包。 这四个当中,我尝试的最多的就是Beego。...阅读全文

开源中国翻译 2014-10-04 19:25:57 中奖啦, 地狱星星, --zx 等

使用go reflect实现一套简易的rpc框架

go jsonrpc 在实际项目中,我们经常会碰到服务之间交互的情况,如何方便的与远端服务进行交互,就是一个需要我们考虑的问题。 通常,我们可以采用restful的编程方式,各个服务提供相应的web接口,相互之间通过http方式进行调用。或者采用rpc方式,约定json格式进行数据交互。 在我们的项目中,服务端对用户客户端提供的是restful的接口方式,而在服务器内部,我们则采用rpc方式进行服务之间的交互。 go语言本来就提供了jsonrpc的支持,所以自然开始我们就直接使用json...阅读全文

CSDN博客 2014-02-21 09:45 siddontang

[go]ipv6 ping测试

其实很简单.就是对照go源码的ipraw_test.go和之前的ping.go 改造一个ping6.go.变化很小 // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // taken from http://golang.org...阅读全文

CSDN博客 2013-12-09 17:23 laputa73

golang的 IntelliJ Idea插件 google-go-lang-idea-plugin 编译方法 build in windows

google-go-lang-idea-plugin 插件虽然好,但是官方的编译版总是更新很慢,所以需要自己编译,问了老外才知道怎么编译,编译方法如下: I opened this project in IDEA Community 13 (or whatever the latest EAP is), then choose the SDK as the program folder (C:\Program Files\JetBrains\Intellik IDEA Community ...阅读全文

CSDN博客 2013-11-26 12:15 mokt2001

ubuntu下安装golang(转)

http://my.oschina.net/u/140663/blog/178035   golang官方编译器安装与配置因为golang是用部分功能语言编写的,所有首先应安装gcc, sudo apt-get install bison gawk gcc libc6-dev make 安装mercurial工具,用于提取golang的源代码 sudo apt-get install mercurial 提取golang的原代码 hg clone -r release https://go.go...阅读全文

博客园 2014-02-09 19:02 ggaaooppeennngg

golang连接orcale

使用glang有一段时间了,最开始其实并不太喜欢他的语法,但是后来熟悉之后发现用起来还挺爽的。之前数据库一直使用mysql,连接起来没有什么问题,github上有很多完善的驱动,所以以为连接其他数据库也应该没什么问题,近日听说其连接orcale比较麻烦,所以就试了试。     之所以连接orcale比较麻烦是因为orcale并没有提供golang的驱动,所以并不能像java那样引入个驱动包就能连接,也不能像mysql之类的开源数据库可以自己实现驱动。不过正所谓天无绝人之路,既然纯go实现不了,...阅读全文

博客园 2014-06-16 22:53 good-temper

go语言

学习go语言差不多快一年了,期间在公司也做过几个项目,马上就要就要毕业了(现在大四,目前在一家创业公司实习),就像着使用go语言做个毕业设计。 基本想法就是,使用go revel框架,实现一个简单的网站。虽然毕业设计做网站没有什么稀奇,但是使用一个最新的语言和最新的框架来完成一个可以帮助大家的网站,个人觉得还是很有意义的。 网站的域名都已经申请好了。希望大家能够多多关照。网站现在只是做了几个简单的页面,由于没有服务器,所以现在大家还看不到。现在是,白天上班,晚上回家做毕业设计,期间还...阅读全文

开源中国博客 2013-12-02 11:45 zongjh

go arm、android版本

export GOROOT="$home/src/go"#go 源码存放位置  export GOBIN="$GOROOT/bin"#go、gofmt、godoc工具位置  export PATH="$GOBIN:$PATH"# #开始编译,arm架构,linux系统  cd $GOROOT/src  export GOOS=linux#适应的OS  export GOARCH=arm#目标架构  ./all.bash  #host comply  cd $GOROOT/src  ./all...阅读全文

CSDN博客 2014-05-08 16:11 qioixiy

go语言chan 和 routine活用

这里,我们以游戏中的一个情况为例。比如魔兽世界里的40人团队副本BOSS战,很多玩家同时攻击BOSS,BOSS的血量会进行频繁修改,我们要记录对BOSS的致命一击。常规 对BOSS血量的操作经行加锁,然后修改,每次攻击甚至还会判断怪物是否处于死亡状态以判断客户端是否能施放某个技能,但这样会让一个锁控制40个玩家的攻击操作,会导致攻击,技能等释放的不流畅。所以魔兽世界应该不是采用这种加锁的方式。为什么我这样说,因为做为了一个wower,我们经常会发现,实际BOSS,怪物已经死了,但我的寒冰剑还在半...阅读全文

CSDN博客 2013-12-23 14:25 eclipser1987

cgo 随笔(golang)

结构体应用    //结构体定义如下 // test.h struct test { int a; int b; int c; } 在golang中的调用如下: 1 package name 2 3 4 import "C" //这个是必须要包含的,如果要调用cgo 5 6 // #cgo linux CFLAGS: -l. //这个是声明查找头文件的位置 是在本目录 7 // #include "test.h" 8 9 ...阅读全文

博客园 2014-06-11 17:55 sn-dnv-aps

golang初体验

学习golang的时间断断续续加起来也有将近一个月了,这期间都是偶看翻几页书,没有写过实际的代码.最近做一个app项目,是一个展示类 的软件,当客户要看某个图片时首先向服务器发出一个请求,比对图片的版本,如果版本与本地一致,则直接显示,如果版本落后了则由服务 器将最新的版本发送给客户端. 对服务器的需求就是一个简单的版本比对和文件传输,于是打算用go去实现,正好也可以练练手. 在设计上,受到以往框架设计的影响,还是使用了wpacket,rpacket和共享buffer这个方案,不同的地方是go的...阅读全文

博客园 2014-03-04 21:48 sniperHW

Java程序员快速入门 go 语言

这篇文章帮助Java程序员快速入门Go语言。 本文将以一个有代表性的例子为开始,以此让Java程序员对Go语言有个初步认识,随后将详细的描述Go语言的各个构成模块,最后以一个例子来讲解Go语言与Java语言的不同点。 yale8848翻译于 1 年 前 1人顶 ...阅读全文

开源中国翻译 2014-10-04 19:25:56 赵亮-碧海情天, yale88 等

go 的升级

我原来是用压缩包安装的。听说 go 升级还要先卸载掉原来的版本,一时不知道怎么卸载。 到了go 官网上下载了 go1.1.1.windows-386.zip 后,想了一下,直接解压覆盖在原来 go 的安装目录上,启动,测试发现正常。 然后启动了一下 liteide,发现一下子比原来快非常多。几乎是刷一下就出来了。看来这次升级 go 的性能果然调整了很多。接着再把 liteide 下载了压缩包,同样覆盖原来的安装,也直接升级了。阅读全文

开源中国博客 2013-07-14 22:41 Tom-Lin

go protobuff

Go使用ProtoBuff 发现Google Code上面有针对Go语言的Protobuff实现 code.google.com/p/goprotobuf 下面说下安装过程: go get code.google.com/p/goprotobuf 之后提示no Go source files 执行 go install code.google.com/p/goprotobuf/proto 在Go的安装目录pkg下产生对应路径的proto.a文件 执行 go install c...阅读全文

开源中国博客 2012-12-03 11:36 悠米海