Submit Search
mrubyでC使う? Cでmruby使う?
1 like
1,954 views
Bizan Nishimura
Kansai.mrb 2014 Dec でのLT
Technology
Read more
1 of 17
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
More Related Content
PPTX
Ruby と C# をつなぐ
107steps
PDF
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
Yoshito Tanaka
PDF
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
PDF
RubyではじめるIoT(Wakayama.rb活動報告)
三七男 山本
PDF
GR-CITRUSの紹介
三七男 山本
PDF
Wakayama.rbボードの使い方
三七男 山本
PDF
C#からSORACOMを管理できるようにした話(SoraCommonNet)
Kei Nakazawa
PDF
Rubyボードハンズオン
三七男 山本
Ruby と C# をつなぐ
107steps
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
Yoshito Tanaka
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
RubyではじめるIoT(Wakayama.rb活動報告)
三七男 山本
GR-CITRUSの紹介
三七男 山本
Wakayama.rbボードの使い方
三七男 山本
C#からSORACOMを管理できるようにした話(SoraCommonNet)
Kei Nakazawa
Rubyボードハンズオン
三七男 山本
What's hot
(15)
PDF
Rubyボードハンズオンテキスト
三七男 山本
PDF
ET2016 小さなRubyボード GR-CITRUSの紹介
三七男 山本
PDF
極小Rubyボードの紹介
三七男 山本
PDF
Esp32 cam and raspberry pi 4 b over SORACOM
ShimizuKen2
PPTX
俺とモデリング
Masayuki KaToH
PDF
Fuji sakuraでmbedを!
Tetsuya Noguchi
PDF
Ruby関西76 gr citrusの使い方#2
三七男 山本
PPTX
この実装には問題がある!
GOMI NINGEN
PDF
KyotoLT(Online) 第26回
hiroya akita
PDF
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
三七男 山本
PDF
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
崇之 清水
PDF
楽しいVR空間を作る技術と支える技術 #osc19do
infinite_loop
PDF
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
Tsutomu Chikuba
PDF
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
Mariko Kobayashi
PDF
円環の理(Garbage Collection)
Narihiro Nakamura
Rubyボードハンズオンテキスト
三七男 山本
ET2016 小さなRubyボード GR-CITRUSの紹介
三七男 山本
極小Rubyボードの紹介
三七男 山本
Esp32 cam and raspberry pi 4 b over SORACOM
ShimizuKen2
俺とモデリング
Masayuki KaToH
Fuji sakuraでmbedを!
Tetsuya Noguchi
Ruby関西76 gr citrusの使い方#2
三七男 山本
この実装には問題がある!
GOMI NINGEN
KyotoLT(Online) 第26回
hiroya akita
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
三七男 山本
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
崇之 清水
楽しいVR空間を作る技術と支える技術 #osc19do
infinite_loop
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
Tsutomu Chikuba
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
Mariko Kobayashi
円環の理(Garbage Collection)
Narihiro Nakamura
Ad
Similar to mrubyでC使う? Cでmruby使う?
(20)
PDF
ET2017資料: 開発言語mruby・mruby/cが開く新たなIoTプラットフォーム
shimane-itoc
PDF
組込み向けスクリプト言語mrubyをEV3で動かしてみよう
Takuya Azumi
PDF
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
Kazuaki Tanaka
PPTX
mruby/c機能紹介20160329
shimane-itoc
PDF
Hello Ruby
Takahiro KUREBAYASHI
PPT
Mrubyの始め方
Masaki Muranaka
PDF
mrubyのすすめ
masayoshi takahashi
PDF
ET West 2017資料:mruby/c、mrubyで実現される効率的なIoT開発
shimane-itoc
PDF
Introduction of mruby & Webruby script example
kishima7
PDF
MobiRubyでiOSアプリをつくろう
Junya Murabe
PDF
mrubyでゲームを書いてみた
Yousuke Kuroda
PDF
Mac ruby
Motoharu Ono
PDF
mruby VM を調べてみた話
kishima7
PDF
Ruby東京プレゼン 資料
Kazuaki Tanaka
PPTX
Xcodeでmrubyをステップ実行してみた
firewood
PDF
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
三七男 山本
PDF
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
Shuyo Nakatani
PDF
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
宏治 高尾
PPTX
Led cube lt
Naohito Yamashita
PDF
mrubyのJIT
miura1729
ET2017資料: 開発言語mruby・mruby/cが開く新たなIoTプラットフォーム
shimane-itoc
組込み向けスクリプト言語mrubyをEV3で動かしてみよう
Takuya Azumi
ET2014資料: mruby プログラム言語Rubyによる組込みソト開発
Kazuaki Tanaka
mruby/c機能紹介20160329
shimane-itoc
Hello Ruby
Takahiro KUREBAYASHI
Mrubyの始め方
Masaki Muranaka
mrubyのすすめ
masayoshi takahashi
ET West 2017資料:mruby/c、mrubyで実現される効率的なIoT開発
shimane-itoc
Introduction of mruby & Webruby script example
kishima7
MobiRubyでiOSアプリをつくろう
Junya Murabe
mrubyでゲームを書いてみた
Yousuke Kuroda
Mac ruby
Motoharu Ono
mruby VM を調べてみた話
kishima7
Ruby東京プレゼン 資料
Kazuaki Tanaka
Xcodeでmrubyをステップ実行してみた
firewood
mruby搭載ボード GR-CITRUS の新しい開発環境の紹介
三七男 山本
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
Shuyo Nakatani
RubyによるMac OS Xデスクトップアプリケーション開発入門--Snow Leopard対応版
宏治 高尾
Led cube lt
Naohito Yamashita
mrubyのJIT
miura1729
Ad
More from Bizan Nishimura
(20)
PDF
光る縄文土器を作る
Bizan Nishimura
PDF
IoT渾天儀で太陽の運行を知る
Bizan Nishimura
PDF
ALGYAN 6th IoT基板で倒立振子
Bizan Nishimura
PDF
GR-MANGOでEtherCAT
Bizan Nishimura
PDF
TeXで多言語文書作成! (2011年ごろの資料)
Bizan Nishimura
PDF
GR-SAKURAでEtherCAT
Bizan Nishimura
PDF
だんグラ用お玉コントローラ
Bizan Nishimura
PDF
可視光を利用したIoTエッジデバイスとの通信
Bizan Nishimura
PDF
IoTマニ車でクラウドに功徳を積む
Bizan Nishimura
PDF
Arduino系IDE設定切替ツール inoSwitch
Bizan Nishimura
PDF
二足歩行ロボットKXR-L2をGR-ROSEで動かす
Bizan Nishimura
PDF
ラジコンで演奏する楽器
Bizan Nishimura
PDF
CANとCANopen
Bizan Nishimura
PDF
GRでシリアルサーボ
Bizan Nishimura
PDF
Esp8266でラジコン基板
Bizan Nishimura
PDF
BLEラジコン基板でIoTしてみた
Bizan Nishimura
PDF
ミニ四足 ~歩くミニ四駆~
Bizan Nishimura
PDF
SerialScreen
Bizan Nishimura
PDF
GR-KURUMIでミニ四駆をラジコン化
Bizan Nishimura
PDF
GR-KURUMIで倒立振子
Bizan Nishimura
光る縄文土器を作る
Bizan Nishimura
IoT渾天儀で太陽の運行を知る
Bizan Nishimura
ALGYAN 6th IoT基板で倒立振子
Bizan Nishimura
GR-MANGOでEtherCAT
Bizan Nishimura
TeXで多言語文書作成! (2011年ごろの資料)
Bizan Nishimura
GR-SAKURAでEtherCAT
Bizan Nishimura
だんグラ用お玉コントローラ
Bizan Nishimura
可視光を利用したIoTエッジデバイスとの通信
Bizan Nishimura
IoTマニ車でクラウドに功徳を積む
Bizan Nishimura
Arduino系IDE設定切替ツール inoSwitch
Bizan Nishimura
二足歩行ロボットKXR-L2をGR-ROSEで動かす
Bizan Nishimura
ラジコンで演奏する楽器
Bizan Nishimura
CANとCANopen
Bizan Nishimura
GRでシリアルサーボ
Bizan Nishimura
Esp8266でラジコン基板
Bizan Nishimura
BLEラジコン基板でIoTしてみた
Bizan Nishimura
ミニ四足 ~歩くミニ四駆~
Bizan Nishimura
SerialScreen
Bizan Nishimura
GR-KURUMIでミニ四駆をラジコン化
Bizan Nishimura
GR-KURUMIで倒立振子
Bizan Nishimura
mrubyでC使う? Cでmruby使う?
1.
Kansai.mrb 2014 Dec 西村備山(@lipoyang) mrubyでC使う? Cでmruby使う?
2.
自己紹介 西村備山 (@lipoyang)
3.
mrubyは一昨日はじめたばかり
4.
僕は組込み屋 ・C/C++で文字列の切り貼り ・C/C++でWebサーバ ・C/C++でWeb APIを実装 ・C/C++ でJSON解析 ・C/C++
で暗号化/復号 etc.
5.
C/C++めんどくさい
6.
mruby使いたいけど… 末長く使えるプラットフォーム → ポーティングする苦労の甲斐あり GR-SAKURA や
Wakayama.rbボード たいていの組込み系のターゲット まいどまいど特注仕様 → 誰がI/O周りポーティングしてくれるん?
7.
C + mruby
で行こう! C mruby リアルタイム性 H/Wまわり テキスト 処理 Web系 柔軟性 抽象度 +
8.
どっちを主体に? mrubyでC使う? Cでmruby使う?
9.
どっちを主体に? mrubyでC使う? Cでmruby使う? まず実務に導入しやすいのはこちら?
10.
書いてみたが… require ’base64’ # Base64エンコード def
myBase64Encode str return Base64.encode64(str) end # Base64デコード def myBase64Decode str return Base64.decode64(str) end hoge.rb
11.
requireがない! じゃあ、 どうやってライブラリを ロードするの?
12.
build_config.rb MRuby::Build.new do |conf| toolchain
:gcc enable_debug conf.bins = %w(mrbc mruby mirb) conf.gembox 'default' conf.gem :git => 'https://github.com/iij/mruby-io.git' conf.gem :git => 'https://github.com/mattn/mruby-json.git' conf.gem :git => 'https://github.com/mattn/mruby-base64.git' end 動的にrequireするんじゃなく mrubyのビルド時に抱き込む
13.
サンプル(mruby側) # Base64エンコード def myBase64Encode
str return Base64.encode(str) end # Base64デコード def myBase64Decode str return Base64.decode(str) end myBase64.rb
14.
サンプル(C言語側) #include "mruby.h" #include "mruby/string.h" #include
"mruby/proc.h" #include "mruby/compile.h" int main(void){ mrb_state* mrb = mrb_open(); FILE* f = fopen("myBase64.rb", "r"); mrb_load_file(mrb, f); fclose(f); ・・・ mrb_close(mrb); return 0; } hoge.c(抜粋)
15.
サンプル(C言語側) char plain[] =
"Hello, world!"; printf("Plain Text = %s¥n", plain); mrb_value arg = mrb_str_new_cstr(mrb, plain); mrb_value ret = mrb_funcall( mrb, mrb_top_self(mrb), "myBase64Encode", 1, arg); char *encoded = mrb_str_to_cstr(mrb, ret); printf("Encoded Text = %s¥n", encoded); arg = mrb_str_new_cstr(mrb, encoded); ret = mrb_funcall( mrb, mrb_top_self(mrb), "myBase64Decode", 1, arg); char *decoded = mrb_str_to_cstr(mrb, ret); printf("Decoded Text = %s¥n", decoded); hoge.c(抜粋)
16.
コンパイルと実行 $ ln -s
~/tool/mruby ./mruby $ gcc -Imruby/include -Imruby/src hoge.c mruby/build/host/lib/libmruby.a -lm $ ./a.out Plain Text = Hello, world! Encoded Text = SGVsbG8sIHdvcmxkIQ== Decoded Text = Hello, world!
17.
おしまい 型 C→mruby mruby→C 整数
mrb_fixnum_value mrb_fixnum 浮動小数点 mrb_float_value mrb_float 文字列 mrb_str_new_cstr mrb_str_to_cstr 型変換のAPI? (調査中)
Download