
0.45
woshiyilitongdouzi
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ruby-0.49源码分析
今天想想,读读ruby0.49的源码。用C写东西,那是太慢了。真要干活,还是用perl或者ruby.现在时间充足,就相看看ruby0.49。收到了王亚刚写的gcc源码分析的书,他的版本太高,感觉还是读最古老的版本较划算。代码量太大了,这何年何月才能看完呢。wget https://cache.ruby-china.org/pub/ruby/1.0/ruby-0.49.tar.gztar -zxvf...原创 2018-03-10 16:05:12 · 200 阅读 · 0 评论 -
ruby-0.49 missing/strstr.c 源码分析
因为全部编译不了,我又搞不定如何编译正确。不知是gcc版本太高,还是操作系统太新,毕竟是1994年写的代码。我呢,也不想编译新版本的ruby,那样代码太多,我看不懂,也不划看,于是先随便翻翻。把simple中打开了两个文件,不能编译,就执行不了。于是再翻开missing,和gnu的有些文件象。比如strstr.cchar *strstr(string, substring) register...原创 2018-03-10 16:44:28 · 178 阅读 · 0 评论 -
ruby-0.49 missing/strtoul.c 源码分析
strtol.c--->strtoul.c因为上面的文件用到了strtoul.c,所以就直接分析这个文件。说实话,还是调试时,看代码较快。我于是写了一个mainint main(){ char *s="0123"; long num; int c; c=strtoul(s,0,8); printf("%ld\n",c);}再编译,然后执行。得到结果,再回过头来,看代码,发现有一段: ...原创 2018-03-10 17:07:44 · 275 阅读 · 0 评论 -
ruby-0.49 missing/getopt.c 源码分析
这个文件和sed1.8源码中的的getopt.c好象。而我想读sed1.8的源码,通过调试程序,大致看懂了。上回打开ruby0.49源码,发现这个文件,就又去读gnu的源码了。这里面getopt.h,getopt1.c等几个文件和sed1.8中的很像。至于另两个文件mkdir.c,memmove.c好象也在gnu中有,就不看了。略过。...原创 2018-03-10 17:12:51 · 233 阅读 · 0 评论 -
ruby0.49源码分析——编译代码01
今天还是写两句。花了一整天,在ubuntu16上编译ruby0.49,我开始想装一个老版本的gcc,但装不上。弄了三个版本,都安装不上。于是,就在gcc5下编译ruby0.49,开始遇到varargs.h要换成stdarg.h的问题,换了头文件还不行,接着改相关用到可变参数的代码。改完了,接着又遇到一些头文件的问题,改了可变函数调用,要在相应头文件中修改。又遇到gdbm和crypt的问题, """...原创 2018-03-11 20:49:58 · 181 阅读 · 0 评论 -
ruby0.4 源码分析之编译
昨天读ruby代码,编译不了,于是就随便翻,从makefile文件入手,先看最简单的version.o : version.c ruby.h defines.h \ version.h打开version.c代码也少,static VALUE rb_version;VALUE rb_readonly_hook();Init_version(){ rb_version = str_new2(R...原创 2018-03-13 21:06:05 · 164 阅读 · 0 评论 -
gnu coreutils-4.5.1 head.c代码分析2
昨天看了一本介绍对发明awk语言的三位的采访,其中讲到正则表达式的实现算法的详细解释在龙书中有介绍,我的龙书放在家里了,于是拿起《算法导论》翻,其中找到正则表达式字符串查找的一章,DFA知道概念,但看算法就糊涂了。看来,还是要慢慢看编译原理的。我的道行太浅了,读awk的代码,还是有难度。虽然可以照着书,把bison的例子敲两遍,但要理解算法,还是嫩了。作者说,他们第一版awk才3000多行,最新版...原创 2018-05-11 19:40:56 · 162 阅读 · 0 评论 -
登天的感觉…… 重新编译ruby0.49
登天的感觉…… 重新编译ruby0.49 看了一段时间的coreutils4.5.1,又想把ruby0.49编译一下,因为这个代码量少些。以前弄过,今天重新开始。1.解压文件2../configure 生成makefile文件3.sudo make发现报了大量的错4.先是可变参数写法,再是dbm问题,采取修改makefile文件的方法,后来,又是rcypt编译不对,再加编译参数,有些是i...原创 2019-01-05 17:49:22 · 214 阅读 · 0 评论 -
ruby0.49源码分析……与gawk很类似
ruby0.49源码分析……与gawk很类似今天睡了懒觉,在床上回忆gawk源码,在大脑中读源码,感觉很有意思,就象有人讲的,跟着书旅游或者是卧以游之,很爽。心想,我大概要读读shell的源码。但linux内核不懂,估计遇到系统调用,就无解了,因此,还是看看ruby源码吧。毕竟上次都编译成功了。于是起床,就看ruby0.49的源码。先打开Makefile,如何着手,先看Array如何实现的...原创 2019-02-23 09:06:19 · 191 阅读 · 0 评论