不知道译者需要用什么样的文本风格,偏日式一点或是完全汉语化。如果有其他译者的话,应当统一一下风格较好。另外这篇稿子没有经过充分润色,仅仅算是看个效果。有些句子比较绕,和汉语不太一样。

图中文字: 松本行弘直传 面向嵌入式的ruby mruby的一切 第二章 来试着运行mruby吧 旁:mruby着眼于处理嵌入式方面的ruby代码。从本章开始,我们已经快要接近mruby的核心部分。首先先获取mruby的源代码并编译、运行一下mruby的程序、做一下benchmark测试,比较一下与原版ruby的性能差异吧。

下方正文: 嵌入式系统用ruby——mruby的开发,是在GitHub上——它提供分散式版本控制系统(Git)服务——进行的。到目前为止(2013年五月),还没有引入其他邮件列表或bug管理系统,一切开发行为都是在GitHub上进行的。另外,开发所使用的语言全部都为英语。 这都是从过去在开发ruby上我们所获得的“反省(是吗?)”而来的。ruby的开发发源于日本,因此以日语交流为中心发展至今。作为主要开发者的我也是日本人,因此起初会认为开发者集中在日本也是理所应当的事情吧。即使现在,在拥有ruby代码仓库的提交权的不到90人中,过半数都是日本人,而时常参加开发的所谓“核心提交者”近乎全员都是日本人。 然而由于ruby的发展,外国的开发者逐渐增加,由于语言问题而导致的沟通障碍也逐渐明显。并且邮件列表中,也曾有分别使用英语和日语在讨论时,话题被发散开的例子。没能吸收海外优秀的技术人员、灵光一闪被隔绝在言语的墙壁外、实在是遗憾不过。 因此,在mruby中,最初使用的开发语言便是英语。工具约定为github。实际上,目前参加开发mruby的人们大多数仍然是日本人、但即便如此,统一使用英语所带来的良好风格是很重要的。更重要的是,我们使用了能够与github协同工作的持续集成工具“TravisCI”提高了代码的质量。通过TravisCI,每次向GitHub提交变更时(也即push代码),就会运行测试;当接收到其他开发者将他们fork出的代码merge到源仓库的请求时(即pull request),也会自动对请求运行测试。 虽说如此,英语对日本人来说会构成交流障碍也是众所周知的事实。因此原则上我们并不会无视非github上的bug报告,有任何问题都请尽管联系我们。我们也接受twitter上的bug报告。比如,可以参照对修正mod_mruby无法工作的bug的归纳贴,【URL=xxxxx】。

获取mruby 总之,让我们先获得mruby的源代码吧。是否已经安装了git呢?相信我不会骗人,快点安装吧(译者:翻译成中文之后怎么看怎么像广告orz)。如果在debian/ubuntu环境下只要执行 sudo apt-get install git就可以安装完成。只要有git,就可以按照图1的步骤获得mruby的源代码了。 这样我们就获得了github上的mruby仓库副本。这并不是单纯的源代码,而是整个仓库的副本,因此诸如更新记录之类的所有信息也都会一并获得。试着看看记录吧。 如果要获取github的源仓库中的更新代码,执行git pull命令。 使用git还可以做建立分支、在分支间移动更新等许多的操作,但我本人也只是git的初学者,掌握的命令也很有限,在这里就不多赘述。 获得mruby之后,总觉得只是看源代码有点可惜了。我们编译一下吧。 编译mruby需要这样几个工具:  C编译器(gcc)  bison  ruby(1.8亦可)  make(非必需) mruby本身是用C语言写成的,因此当然要使用C编译器了。gcc应该是比较常见的吧。或者使用LLVM project的成果——clang之类的其他的C编译器也是可以的。另外我自己虽然没有测试过,但据说在windows上使用VisualC也可以编译成功。我平时使用的是gcc 4.6.3,也测试过clang3.0。 bison是根据写好的规则,生成ruby语法解析部分的工具。这一类工具里比较有名的是yacc,而bison是它的gnu版本。在mruby中使用了部分bison的扩展功能,因此需要使用bison而不是yacc。我使用的是bison2.5。 为了解除编译时的依赖关系,一般会使用make命令,但像mruby这样使用在各种不同的环境、可能需要交叉编译的情况,对于make命令来说,描述它们的依赖关系很容易变得比较复杂。因此,在mruby中使用ruby来控制诸如编译一类的build动作。只要是ruby1.8以后的版本。不论1.9或2.0都可以运行。 在ruby中,存在为了解决上述问题而引入的Rake命令。mruby中考虑到了没有安装rake的情形,捆绑了精简版的minirake。出于简单起见,也附带了启动nimirake的Makefile。 构建时的配置,写在mruby的顶级目录的build_config.rb文件中。可以通过改写此文件,指定编译选项、使用的gem等。 装好必要的工具以后,只用一行命令就可以编译了。有需要的话,可以在修改build_config.rb文件后,在mruby目录下执行make。 cd mruby make 这样就会编译出构成mruby的库和标准的三个命令(编译时的输出结果说明参照附录dvd)。三个命令的使用方法见后文。

mruby的源代码构成 下载mruby的源代码后可以知道,mruby的源代码分为几个目录。下面来解释每个目录的内容。