試譯稿ver 0.1
不知道譯者需要用什麼樣的文字風格,偏日式一點或是完全漢語化。如果有其他譯者的話,應當統一一下風格較好。另外這篇稿子沒有經過充分潤色,僅僅算是看個效果。有些句子比較繞,和漢語不太一樣。
圖中文字: 松本行弘直傳 面向嵌入式的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的原始碼分為幾個目錄。下面來解釋每個目錄的內容。
相關文章
- 開發者體驗嗨皮書 ver 0.1 釋出:《開發者體驗:探索與重塑》
- From Apprentice To Artisan 翻譯稿APP
- hibernate物件關係的翻譯稿物件
- 演講稿 ---- 10年 測試開發
- 使用圖靈社群線上提交譯稿的體驗圖靈
- 無題——中耕某不合格譯稿之感言
- Visual Studio Code預覽版Ver 0.3.0試用體驗
- 微軟致力AI晶片研發:翻譯30億字僅需0.1秒微軟AI晶片
- 譯稿審讀札記,順便學學怎麼用Markdown
- Flutter layout 作弊稿Flutter
- 活動演講稿
- VisualStudio各版本_MSC_VER和_MSC_FULL_VER宏定義值列表
- AnimateIt Screen Saver Toolkit(Ver 2.02)
- 《關於 mruby 的一切》譯者找到啦,繼續招審稿!
- 《JavaScript權威指南(第6版)》誠徵讀者參與譯稿審校!JavaScript
- ITPUB的採訪稿
- ASTON Ver1.5 (3千字)AST
- Becky! Internet Mail Ver.2.05.2AI
- C# 語法糖 ver2C#
- IJCAI 2020滅霸式拒稿,AI審稿是否更公平?AI
- 新聞稿釋出渠道分析 如何選擇新聞稿釋出公司
- 6個月和100萬字譯稿:《天外世界》的中文字地化之路
- JS 精度差異 0.1+0.2 != 0.3JS
- 你知道的requestAnimationFrame【從0到0.1】requestAnimationFrame
- where can i download JiVE(with source, english Ver)?
- Mac theme for RF5 Apatite Ver(轉)Mac
- [譯] 如何測試 React Hooks ?ReactHook
- 動手試試ClassLoader,直譯器,JIT
- GNU/Linux安全基線與加固-0.1Linux
- git-0.1版本原始碼分析Git原始碼
- 0.1、JS-時間處理積累JS
- 為什麼JS中0.1+0.2 != 0.3JS
- 【RocketMq】RocketMq-NameServ 原始碼分析(Ver4.9.4)MQ原始碼
- 四則運算安卓版ver.mk3安卓
- 四則運算安卓版ver.mk2安卓
- 視窗鎖王ver5.10簡介
- 計算機簡史——試譯計算機
- 0.1+0.2=?在前端裡,告訴你:≠0.3 !前端