試譯稿ver 0.1

轍道轅門發表於2014-01-23

不知道譯者需要用什麼樣的文字風格,偏日式一點或是完全漢語化。如果有其他譯者的話,應當統一一下風格較好。另外這篇稿子沒有經過充分潤色,僅僅算是看個效果。有些句子比較繞,和漢語不太一樣。

圖中文字: 松本行弘直傳 面向嵌入式的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的原始碼分為幾個目錄。下面來解釋每個目錄的內容。

相關文章