mruby についてのメモ
mruby の動作
mruby の実行基盤であるRiteVM
は、Rubyスクリプトを逐次解釈して実行するのではなくコンパイル結果のバイナリコード(Rite中間表現)
を直接実行する。
Rite中間表現をバイナリ出力したものがmrbファイル(Riteバイナリファイル)
。
mrbgem とは
mruby にライブラリを追加するための仕組み。mruby は require などで動的にライブラリを読み込めないので、mruby ビルド時に組み込む必要がある。
追加する際は、build_config.rb
に追記してビルドする。
なお、mrbgem の実装には、以下3パターンがある。
- C拡張
- Ruby拡張
- C & Ruby 拡張
作り方については、この辺りが参考になりそう。
ireq とは
まだ全然わかってないが、この辺り。
ライブラリ構成
以下の4つが定義されているが、現在提供されているのはミニマルのみ?
- ミニマル: 実行に必要な最低限の機能
- スタンダード: JIS X 3017 規格相当
- フル: MRI(CRuby) のフル機能相当
- ドメイン別: 製品ドメイン別の拡張ライブラリ