2011-2-21 小结

二月 21st, 2011 339 次阅读 0 条评论
  1. mingw环境下编译boost
    下载bjam.exe 然后: bjam install --toolkit=gcc debug ....
  2. 在编写通讯方面的程序时,注意字符串中'\0'的意义。
分类: 标签:  

[游戏]编程机器人

一月 10th, 2011 274 次阅读 0 条评论

分类: 转帖 标签:  

amd64架构的Ubuntu中安装386的程序

十二月 14th, 2010 248 次阅读 0 条评论

sudo dpkg -i --force--all <packagename.deb>

分类: 标签:  

Go与汇编混合编程

十二月 2nd, 2010 367 次阅读 1 条评论

想要了解Go的底层机制,必须了解其与汇编程序(plan9 asm)混合工作的方法,以下是个人的一些总结。

1, 形式

在go文件中添加包和函数的声明,在s文件中实现函数,分别使用8g和8c处理后,用gopack打包成a文件,安装到包目录中。然后就可以在一般的go文件中导入混合实现的包了。

2, 汇编函数格式

TEXT   <package name>·<func name>+0(SB),$X-Y
    <instructions>
    RET

<package name> : 包名,可省略
<func name>      : 函数名
<instructions>     : 指令序列
X                       : 自动变量占用的栈空间
Y                       : 参数和返回值占用的栈空间
包名与函数名之间的点为间隔符,vim中的输入方式为<C-V>u00b7

3, 参数、返回值的传递方式

从右到左,在栈中留出返回值的空间,参数压入栈中。

4, 栈空间维护

plan9汇编中,自动实现函数栈空间的维护,不需要显式的维护操作。在函数的第一行,给出了自动变量、参数和返回值的空间大小。进入函数后,name+0(FP)指向返回地址,386架构中, name+4(FP)指向第一个参数。FP(frame pointer)是一个伪寄存器,使用时必须加上参数名称: name+0(FP),name可为任意值。SP为真实的栈指针,指向第一个自动变量。

参考:

 

 

分类: 标签: Golang 

几个有趣的项目

十二月 1st, 2010 196 次阅读 0 条评论
分类: 标签:  

[转帖]我奋斗了18年才和你坐在一起喝咖啡

十一月 27th, 2010 188 次阅读 0 条评论

 

我的白领朋友们,如果我是一个初中没毕业就来沪打工的民工,你会和我坐在“星巴克”一起喝咖啡吗?不会,肯定不会。比较我们的成长历程,你会发现,为了一些在你看来唾手可得的东西,我却需要付出巨大的努力。

 

从我出生的一刻起,我的身份就与你有了天壤之别,因为我只能报农村户口,而你是城市户口。如果我长大以后一直保持农村户口,那么我就无法在城市中找到一份正式工作,无法享受养老保险、医疗保险。你可能会问我:“为什么非要到城市来?农村不很好吗?空气新鲜,又不像城市这么拥挤。”可是农村没有好的医疗条件,去年SARS好像让大家一夜之间发现农村的医疗保健体系竟然如此落后,物质供应也不丰富,因为农民挣的钱少,贵一点儿的东西就买不起,所以商贩也不会进太多货。春节联欢晚会的小品中买得起等离子彩电的农民毕竟是个别现象,绝大多数农民还在为基本的生存而奋斗,于是我要进城,要通过自己的奋斗获得你生下来就拥有的大城市户口。 (..More)

分类: 转帖 标签: