蕾's profile雁过留痕PhotosBlogLists Tools Help

Blog


    01 November

    GNU GLOBAL source code tag system

     GNU GLOBAL source code tag system
    呵呵,只写了个题目就被同学叫住问事情,还没写内容呢。
     
    本来我这人很生活化的,喜欢谈论衣服化妆品阿,生活啊什么的,不是很喜欢张口闭口都谈工作的人的。
     
    不过最近看了,陈安之的一些东西(主要是激励人的),开始觉得有点喜欢我的研究。写一篇关于研究的吧。
     
    最近在看SFS的代码,这个系统有点像Unix的一个扩充,完成了作者想进行的一些工作。
    这个系统现在装在FreeBSD(Unix)之上。
     
    读它的代码,感觉要吐血了。只是看上去很短的client的代码,只看了一个函数,居然向下调用了5层函数还没结束,其中有的函数有6,700行之多,受不了了。而且因为用的不是标准函数,都是系统自己定义的东西,没有办法查函数手册。一直在UNIX下用find,grep等命令,找函数的定义,实在是吃不消,找到函数的定义,我已经快吐血了。必须要给自己找个工具。
     
    盗版不能随便用,于是用了Eclipse,但是我找到的plugin不很好用,能找出函数出现的地方,居然不能给我找函数定义,函数出现个几十次,居然还得我自己找哪个是定义,我可不干。
     
    终于,终于,终于,找到了GNU GLOBAL Source code tag system。
    虽然我的系统是实实在在得UNIX下的系统,但是是C和C++的程序么,这个tag-system可以毫无问题的使用。
     
    它的主要功能是,给C, C++,Java等语言的项目建立tree,做成html的形式,点击函数就可以找到函数定义,或者其他使用过这个函数的地方。看似简单的功能,其实真得很省时省力,而且还是FreeSoft。
     
     
    做出来的html如下图