Submit Search
Upload
mrubyでC使う? Cでmruby使う?
•
1 like
•
1,949 views
Bizan Nishimura
Follow
Kansai.mrb 2014 Dec でのLT
Read less
Read more
Technology
Report
Share
Report
Share
1 of 17
Download now
Download to read offline
Recommended
Ruby と C# をつなぐ
Ruby と C# をつなぐ
107steps
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
Yoshito Tanaka
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
RubyではじめるIoT(Wakayama.rb活動報告)
RubyではじめるIoT(Wakayama.rb活動報告)
三七男 山本
GR-CITRUSの紹介
GR-CITRUSの紹介
三七男 山本
Wakayama.rbボードの使い方
Wakayama.rbボードの使い方
三七男 山本
C#からSORACOMを管理できるようにした話(SoraCommonNet)
C#からSORACOMを管理できるようにした話(SoraCommonNet)
Kei Nakazawa
Rubyボードハンズオン
Rubyボードハンズオン
三七男 山本
Recommended
Ruby と C# をつなぐ
Ruby と C# をつなぐ
107steps
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
Yoshito Tanaka
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Masaya Konishi
RubyではじめるIoT(Wakayama.rb活動報告)
RubyではじめるIoT(Wakayama.rb活動報告)
三七男 山本
GR-CITRUSの紹介
GR-CITRUSの紹介
三七男 山本
Wakayama.rbボードの使い方
Wakayama.rbボードの使い方
三七男 山本
C#からSORACOMを管理できるようにした話(SoraCommonNet)
C#からSORACOMを管理できるようにした話(SoraCommonNet)
Kei Nakazawa
Rubyボードハンズオン
Rubyボードハンズオン
三七男 山本
Rubyボードハンズオンテキスト
Rubyボードハンズオンテキスト
三七男 山本
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
三七男 山本
極小Rubyボードの紹介
極小Rubyボードの紹介
三七男 山本
Esp32 cam and raspberry pi 4 b over SORACOM
Esp32 cam and raspberry pi 4 b over SORACOM
ShimizuKen2
俺とモデリング
俺とモデリング
Masayuki KaToH
Fuji sakuraでmbedを!
Fuji sakuraでmbedを!
Tetsuya Noguchi
Ruby関西76 gr citrusの使い方#2
Ruby関西76 gr citrusの使い方#2
三七男 山本
この実装には問題がある!
この実装には問題がある!
GOMI NINGEN
KyotoLT(Online) 第26回
KyotoLT(Online) 第26回
hiroya akita
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
三七男 山本
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
崇之 清水
楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do
infinite_loop
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
Tsutomu Chikuba
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
Mariko Kobayashi
円環の理(Garbage Collection)
円環の理(Garbage Collection)
Narihiro Nakamura
軽量Ruby『mruby』について
軽量Ruby『mruby』について
Ryosuke MATSUMOTO
Hello Ruby
Hello Ruby
Takahiro KUREBAYASHI
RubyからC#を扱う
RubyからC#を扱う
107steps
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
Yahoo!デベロッパーネットワーク
RubyConfの話の続きのおはなし
RubyConfの話の続きのおはなし
yamanekko
Using or not using magic onion
Using or not using magic onion
Goichi Shinohara
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
Ryosuke Akiyama
More Related Content
What's hot
Rubyボードハンズオンテキスト
Rubyボードハンズオンテキスト
三七男 山本
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
三七男 山本
極小Rubyボードの紹介
極小Rubyボードの紹介
三七男 山本
Esp32 cam and raspberry pi 4 b over SORACOM
Esp32 cam and raspberry pi 4 b over SORACOM
ShimizuKen2
俺とモデリング
俺とモデリング
Masayuki KaToH
Fuji sakuraでmbedを!
Fuji sakuraでmbedを!
Tetsuya Noguchi
Ruby関西76 gr citrusの使い方#2
Ruby関西76 gr citrusの使い方#2
三七男 山本
この実装には問題がある!
この実装には問題がある!
GOMI NINGEN
KyotoLT(Online) 第26回
KyotoLT(Online) 第26回
hiroya akita
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
三七男 山本
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
崇之 清水
楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do
infinite_loop
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
Tsutomu Chikuba
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
Mariko Kobayashi
円環の理(Garbage Collection)
円環の理(Garbage Collection)
Narihiro Nakamura
What's hot
(15)
Rubyボードハンズオンテキスト
Rubyボードハンズオンテキスト
ET2016 小さなRubyボード GR-CITRUSの紹介
ET2016 小さなRubyボード GR-CITRUSの紹介
極小Rubyボードの紹介
極小Rubyボードの紹介
Esp32 cam and raspberry pi 4 b over SORACOM
Esp32 cam and raspberry pi 4 b over SORACOM
俺とモデリング
俺とモデリング
Fuji sakuraでmbedを!
Fuji sakuraでmbedを!
Ruby関西76 gr citrusの使い方#2
Ruby関西76 gr citrusの使い方#2
この実装には問題がある!
この実装には問題がある!
KyotoLT(Online) 第26回
KyotoLT(Online) 第26回
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ルネサスナイト10発表資料 Rubyで作るラムネシュータ
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
ピタゴラスイッチでAWS自動化(JAWS-UG-LT @shimy_net )
楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
Meguro.rb#3LT「Ruby入門書を書いてて得られた知見5選+3α」
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
円環の理(Garbage Collection)
円環の理(Garbage Collection)
Similar to mrubyでC使う? Cでmruby使う?
軽量Ruby『mruby』について
軽量Ruby『mruby』について
Ryosuke MATSUMOTO
Hello Ruby
Hello Ruby
Takahiro KUREBAYASHI
RubyからC#を扱う
RubyからC#を扱う
107steps
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
Yahoo!デベロッパーネットワーク
RubyConfの話の続きのおはなし
RubyConfの話の続きのおはなし
yamanekko
Using or not using magic onion
Using or not using magic onion
Goichi Shinohara
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
Ryosuke Akiyama
C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話
Kinuko Yasuda
Iron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリ
Yamamoto Kazuhisa
コマンドライン使いもLibreOffice
コマンドライン使いもLibreOffice
Kiwamu Okabe
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
Tsuubito Ishii
C#のやさしさを語る時間
C#のやさしさを語る時間
kamukiriri
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
simotin13 Miyazaki
mrubyで作るマイコンボード
mrubyで作るマイコンボード
kishima7
RubyのGC改善による私のエコライフ
RubyのGC改善による私のエコライフ
Narihiro Nakamura
GC黄金時代
GC黄金時代
Narihiro Nakamura
dwangocpp1-lt
dwangocpp1-lt
karupanerura
C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携
YutoNishine
Implement tech
Implement tech
HCPC: 北海道大学競技プログラミングサークル
mruby/c機能紹介20160329
mruby/c機能紹介20160329
shimane-itoc
Similar to mrubyでC使う? Cでmruby使う?
(20)
軽量Ruby『mruby』について
軽量Ruby『mruby』について
Hello Ruby
Hello Ruby
RubyからC#を扱う
RubyからC#を扱う
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
SAIS/SIGMOD参加報告 in SAIS/DWS2018報告会@Yahoo! JAPAN
RubyConfの話の続きのおはなし
RubyConfの話の続きのおはなし
Using or not using magic onion
Using or not using magic onion
mruby を C# に 組み込んでみる
mruby を C# に 組み込んでみる
C++でCプリプロセッサを作ったり速くしたりしたお話
C++でCプリプロセッサを作ったり速くしたりしたお話
Iron rubyとsinatraで作るデスクトップアプリ
Iron rubyとsinatraで作るデスクトップアプリ
コマンドライン使いもLibreOffice
コマンドライン使いもLibreOffice
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
C#のやさしさを語る時間
C#のやさしさを語る時間
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
mrubyで作るマイコンボード
mrubyで作るマイコンボード
RubyのGC改善による私のエコライフ
RubyのGC改善による私のエコライフ
GC黄金時代
GC黄金時代
dwangocpp1-lt
dwangocpp1-lt
C# CloudScript Azure Functions との連携
C# CloudScript Azure Functions との連携
Implement tech
Implement tech
mruby/c機能紹介20160329
mruby/c機能紹介20160329
More from Bizan Nishimura
光る縄文土器を作る
光る縄文土器を作る
Bizan Nishimura
IoT渾天儀で太陽の運行を知る
IoT渾天儀で太陽の運行を知る
Bizan Nishimura
ALGYAN 6th IoT基板で倒立振子
ALGYAN 6th IoT基板で倒立振子
Bizan Nishimura
GR-MANGOでEtherCAT
GR-MANGOでEtherCAT
Bizan Nishimura
TeXで多言語文書作成! (2011年ごろの資料)
TeXで多言語文書作成! (2011年ごろの資料)
Bizan Nishimura
GR-SAKURAでEtherCAT
GR-SAKURAでEtherCAT
Bizan Nishimura
だんグラ用お玉コントローラ
だんグラ用お玉コントローラ
Bizan Nishimura
可視光を利用したIoTエッジデバイスとの通信
可視光を利用したIoTエッジデバイスとの通信
Bizan Nishimura
IoTマニ車でクラウドに功徳を積む
IoTマニ車でクラウドに功徳を積む
Bizan Nishimura
Arduino系IDE設定切替ツール inoSwitch
Arduino系IDE設定切替ツール inoSwitch
Bizan Nishimura
二足歩行ロボットKXR-L2をGR-ROSEで動かす
二足歩行ロボットKXR-L2をGR-ROSEで動かす
Bizan Nishimura
ラジコンで演奏する楽器
ラジコンで演奏する楽器
Bizan Nishimura
CANとCANopen
CANとCANopen
Bizan Nishimura
GRでシリアルサーボ
GRでシリアルサーボ
Bizan Nishimura
Esp8266でラジコン基板
Esp8266でラジコン基板
Bizan Nishimura
BLEラジコン基板でIoTしてみた
BLEラジコン基板でIoTしてみた
Bizan Nishimura
ミニ四足 ~歩くミニ四駆~
ミニ四足 ~歩くミニ四駆~
Bizan Nishimura
SerialScreen
SerialScreen
Bizan Nishimura
GR-KURUMIでミニ四駆をラジコン化
GR-KURUMIでミニ四駆をラジコン化
Bizan Nishimura
GR-KURUMIで倒立振子
GR-KURUMIで倒立振子
Bizan Nishimura
More from Bizan Nishimura
(20)
光る縄文土器を作る
光る縄文土器を作る
IoT渾天儀で太陽の運行を知る
IoT渾天儀で太陽の運行を知る
ALGYAN 6th IoT基板で倒立振子
ALGYAN 6th IoT基板で倒立振子
GR-MANGOでEtherCAT
GR-MANGOでEtherCAT
TeXで多言語文書作成! (2011年ごろの資料)
TeXで多言語文書作成! (2011年ごろの資料)
GR-SAKURAでEtherCAT
GR-SAKURAでEtherCAT
だんグラ用お玉コントローラ
だんグラ用お玉コントローラ
可視光を利用したIoTエッジデバイスとの通信
可視光を利用したIoTエッジデバイスとの通信
IoTマニ車でクラウドに功徳を積む
IoTマニ車でクラウドに功徳を積む
Arduino系IDE設定切替ツール inoSwitch
Arduino系IDE設定切替ツール inoSwitch
二足歩行ロボットKXR-L2をGR-ROSEで動かす
二足歩行ロボットKXR-L2をGR-ROSEで動かす
ラジコンで演奏する楽器
ラジコンで演奏する楽器
CANとCANopen
CANとCANopen
GRでシリアルサーボ
GRでシリアルサーボ
Esp8266でラジコン基板
Esp8266でラジコン基板
BLEラジコン基板でIoTしてみた
BLEラジコン基板でIoTしてみた
ミニ四足 ~歩くミニ四駆~
ミニ四足 ~歩くミニ四駆~
SerialScreen
SerialScreen
GR-KURUMIでミニ四駆をラジコン化
GR-KURUMIでミニ四駆をラジコン化
GR-KURUMIで倒立振子
GR-KURUMIで倒立振子
Recently uploaded
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
Recently uploaded
(8)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
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 now