- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 用gdb来调试go程序
<br />一直想用gdb来对6l/6g/6a阅读一下代码,结果却总是行数对不上,在go-nuts上问了一下,结果大家讨论到最后讨论成了怎么给6g/6l/6a生成的代码加gdb信息了(我第二天看到邮件时那个汗呀,英文似乎不至于差到这个程度)。今天想来想去觉得应该还是gcc的参数总是,没办法,对这个东西又不熟,那就只有采用一个参数一个参数删除的策略了,结果终于发现-O2这个参数会导致gdb无法进行。这样总是就简单了,google一下gdb O2,还真发现不少文章,其中http://blog.csdn.net/
2010-06-30 14:48:00 3572
原创 关于go语言
从go语言刚出来时就看过了一些介绍,也用go语言写过几个小程序,(hello world之类,哈哈),但是当时没有什么特别的感觉,比较郁闷的是group.google.com被墙了,因此上go-nuts讨论组还要翻墙,自从tor又被禁了之后,连翻墙也懒的动了,于是有几个月没有再关注go的进展。最近突然想到google的讨论组可以通过邮件的(太脑残了,这个都没有想到),于是又重新开始关注go语言。前段时间大概看了一遍tutoiral,还有speicfication,总算是明白了go语言的目标:号称“系统级开发
2010-06-30 11:06:00 1931 1
原创 一个低级错误
<br />以前编译php的时候没有加--enable-maintainer-zts参数,前两天由于需要加了这个参数,重新configure了一下,然后再make发现报错了,于是连错误是什么都没有看就开始如无头苍蝇一搬可以瞎折腾,折腾到最后没有任何结果,没办法了就重新下了一个php代码来完全重新搞一次,结果这回编译过去,回过头来再看这个错误,觉得相当无语:<br /><!-- /* Font Definitions */ @font-face {font-family:宋体; panos
2010-06-28 11:29:00 7622 3
原创 ReflectionMethod->invokeArgs的大坑
php里动态调用函数是需要特别注意的,比如一个函数的输入参数定义了引用类型,那么用call_user_func_xxx肯定完蛋了,包括call_user_func,因为这个时候php调用时其实是采用的是可分离参数方式调用的,因此所有的请求参数都被分离了,所以你无论如何也得不到你的引用所修改的结果。但是invokeArgs方法则不然,它在调用时对no_seperation变量取值为1的,也就是说不允许分离操作,因此你可以得到你要修改的值,但是杯具的是一般在调用invokeArgs方法前肯定是要通过调用func
2010-06-25 16:44:00 6326
原创 php中的annotation
<br />原来php实现了许多java中有的功能,比如说annotation,其实完全可以自己实现,因为php的ReflectionXXX类里提供了getDocComment方法,可以得到类的,或者方法的注释,然后根据这些注释你实际上就实现了一个annotation功能。如此看来单论灵活性,php要比java强大多了。
2010-06-25 16:27:00 4485
原创 There is no source found
<br />今天有个同学问我there is no source found的问题,我当时一看到这个就感觉是debug的时候出的问题,结果详细一问,果然,这个其实不能算是错误,我们的程序在高调试的时候,可能有调用别人代码的时候,如果你在debug时进入了别人的程序,而别的这个库又没有编译成debug模式,那就比较遗憾了,你肯定会得到这个提示,这个时候step over就好了。
2010-06-13 23:28:00 2047
原创 lex和yacc
<br />lex负责词法解析,而yacc负责语法解析,其实说白了就是lex负责根据指定的正则表达式,将输入的字符串匹配成一个一个的token,同时允许用户将当前匹配到的字符串进行处理,并且允许返回一个标识当前token的标识码。而yacc则负责进行语法解析,将一个个的token最终形成一个完整的语法。<br /> <br />lex和yacc类似的,分为三个部分<br />%{<br />这里可以写任何的c代码<br />比如一些初始化的状态<br />%}<br />这里是一些的lex或者yacc的定义
2010-06-13 23:25:00 4486
原创 svn vs cvs
<br />公司scm从cvs换到svn之后一直用的很不爽,鄙视svn鄙视了好久,今天终于下功能看了一下svn的手册,发现原来被鄙视的是自己,svn太他妈强大了。<br /> <br /> 强大的svn property
2010-06-08 18:31:00 782
原创 使用svn:externals来重新组织svn结构
公司的svn服务器由于权限关系,导致在zend studio上导出工程很不爽,因为我只有某些svn路径的权限,但是我又需要将所有有权限的文件夹组织到一个工程里,因此一直用的很不爽,上次在subclipse的newsgroup上问了一下,果然有高人呀,原来用svn:externals属性就可以解决问题。具体的操作是在一个已经存在的文件夹下比如temp,对这个文件夹进行svn propedit操作,具体到subclipse就是team->set properties,然后将你想到添加的虚拟目录和对应的Url加入
2010-06-08 13:38:00 1722
原创 何为间隙锁
<br />在mysql的innoDB存储引擎中,如果更新操作是针对一个区间的,那么它会锁住这个区间内所有的记录,比如update xxx where id between a and b那么它会锁住a到b之间所有记录,注意是所有记录,甚至这个记录并不存在也会被锁住,这个时候,如果另外一个连接需要插入一条记录到a到b之间,那么它就必须等到上一个事务结束。<br /> <br />典型的例子就是使用auto_increment id,由于这个id是一直往上分配的,因此两个事务都insert时,会得到两个不同的
2010-06-03 10:54:00 3766
原创 组合问题一个
<br />100可以表示成多少个正整数之和?<br />f(m,n,p)表示n个不小于p的正整数之后为m的组合数<br />则显然有边界条件<br />f(m,n,p)=1,当n=1且m>=p<br />f(m,n,p)=0,当m<p<br />f(m,n,p)=sum(f(m-i,n-1,p+i), i>=0; p+i <=m-i, m-i >=n-1)<br />若F(m)表示m可以表示成若干正整数之和的组合数,则有<br />F(m)=sum(f(m,i,1), i>=1, i<=m)<br />
2010-06-03 10:23:00 801
Computer Science Handbook第二版.下
2010-02-03
Computer Science Handbook第二版.上
2010-02-03
Handbook of Data Structures and Applications
2009-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人