mruby/c のコードリーディング
ディレクトリ構成
doc/
hal/
mruby/cの仮想マシン用のHAL部分
以下のアーキテクチャ用のHALが最初から用意されている
esp32
pic24
posix
psoc5lp
rp2040
mrblib/
mrubyc のクラスライブラリ
このディレクトリのRubyコードから ../src/mrblib.c を生成する
本体は mrblib_bytecode というバイトコードの配列
mrbc_init_class 関数の中で mrbc_run_mrblib(mrblib_bytecode) してる
sample_c/
mruby/cの仮想マシンの呼び出し方のサンプルコード群
以下のコマンドでビルドされる
cc -I../hal/posix -I../src -Wall -g -o sample_no_scheduler sample_no_scheduler.c ../build/libmrubyc.a
src/
mruby/cの仮想マシン部分
build/libmrubyc.a として提供される
support/
srcのMakefikeから呼ばれるみたい
test/
Makefile
3つのMakefileがある。それぞれ何を目的としているかを確認する
Makefile
mrblib
→ cd mrblib; make all
mrubyc_lib
→ cd mrblib; make all
→ cd src; make all
mrubyc_bin
→ cd sample_c; make all
src/Makefile
→ build/libmrubyc.a
mrblib/Makefile
→ ../src/mrblib.c
sample_c/Makefile
sample_scheduler
sample_no_scheduler
sample_include
sample_concurrent
sample_myclass