Web Analytics

Go 1.5中值得关注的几个变化

在GopherCon2015开幕之 际,Google Go Team终于放出了Go 1.5Beta1版本的安装包。在go 1.5Beta1的发布说明中,Go Team也诚恳地承认Go 1.5将打破之前6个月一个版本的发布周期,这是因为Go 1.5变动太大,需要更多时间来准备这次发布(fix bug, Write doc)。关于Go 1.5的变化,之前Go Team staff在各种golang技术会议的slide 中暴露不少,包括: ...

July 10, 2015 · 11 min · Tony Bai

Go 1.4中值得关注的几个变化

在Go 1.3发布半年过去后,Go核心项目组于本月初发布了Go 1.4 Beta1版本。这个版本的几个变化点虽然不是革命性的,但对后续Go语言的发展来说,打下了基础,定下了基调。这里就几个值得关注的变化点结合Go 1.4代码进行一些简单描述,希望大家能对Go 1.4有个感性的认知和了解。 ...

November 4, 2014 · 8 min · Tony Bai

godep的一个“坑”

很多人学习和使用Golang一段时间后,都会被golang的第三方包依赖版本搞得有些烦躁,golang设计者最初过于乐观的设计使得今天大 家不得不各自想办法解决这个问题。godep就是综合了多年第三方包依赖问题的解决方案后的一个趋向统一的方案,至少是在go get的设计没有进化前的一个比较不错的方案。 今天试用了一把godep,不过“体验”并不理想,这缘于我遇到了godep的一个“坑”,不过是那种你在正式项目中不一定遇到的“坑”,这里来说到说到。 ...

October 30, 2014 · 5 min · Tony Bai

一个Solaris x86平台64位编译的问题

上午在做一个Solaris 10 on x86代码移植测试过程中,发现一个Gcc编译问题,这里记录下来以作备忘。 我们的代码在一台安装了Solaris 10 for x86平台的机器A上进行64位编译(gcc -m64)时报错,错误信息如下: ...

November 5, 2009 · 1 min · Tony Bai

分布式编译让你的工作更高效

随着工程代码量的增加,往往完整的编译一次Proj消耗的时间可能足够你喝两杯咖啡了,我现在build一次我所在proj的代码需要5分多钟,这是很痛苦的,颇让人懊恼的。为了解决这个工作中的别扭事儿,我在网上搜寻了一番,找到了distcc这个分布式编译工具。 ...

October 14, 2008 · 3 min · Tony Bai

共享库中的符号链接

清晨,部门新来的一位小兄弟打来求助电话,说是系统启动的时候出现类似:“ld.so.1: testmain: 致命的: 重定位错误: 文件./libtestshared.so: 符号static_add: 参照的符号没有找到"的错误。这个系统是05年开发的一个复用度很高的自研产品,后续项目只需在其基础上做少量二次开发工作即可满足新功能的要求。为了做到一定的通用性,我们使用了类似插件的框架,这样系统在启动的时候会根据配置加载一些’共享库’(.so文件),而这个小同事反映的问题就出在这。 ...

February 3, 2008 · 6 min · Tony Bai

也谈’SIGBUS和SIGSEGV’

SIGBUS和SIGSEGV也许是我们在平时遇到的次数最多的两个内存错误信号。内存问题一直是最令我们头疼的事情,弄清楚两个信号的发生缘由对我们很好的理解程序的运行是大有裨益的。 我们来看两段程序: //testsigsegv.c int main() { char *pc = (char*)0×00001111; *pc = 17; } ...

December 19, 2007 · 3 min · Tony Bai

一个很有意思的Bug

这个Bug源于昨天凌晨的一次版本升级失败。睡了一大觉后,下午回到公司,重现了这个问题并找到了原因,发现这的确是一个’很有意思的Bug’。 ...

December 18, 2007 · 3 min · Tony Bai

'符号连接'那些事儿

我们在编译自己开发的程序或者一些开源软件的时候,常常遇到类似如下的编译器错误信息: 未定义 文件中的 符号 在文件中 i /var/tmp//ccU4sj6I.o func /var/tmp//ccU4sj6I.o ld: 致命的: 符号参照错误. 没有输出被写入a.out collect2: ld returned 1 exit status ...

December 8, 2007 · 7 min · Tony Bai

小心库函数调用的'陷阱'

下午一同事发现代码中的一处问题,问题的现象是这样的:这位同事调用了一部门基础库函数,当使用32位编译后,程序正常运行;而当使用64位编译后,系统运行dump core。让这位同事奇怪的是他所修改的程序中还有其他模块也使用了同样的基础库函数,为什么偏偏他这块儿出错呢?恰恰该程序的其他模块是我写的。 ...

May 31, 2006 · 2 min · Tony Bai