C ネイティブ拡張の作成

参考:

C ネイティブ拡張 gem の作成・デバッグ – Qiita

拡張ライブラリ作成チュートリアル | 地球流体電脳 Ruby プロジェクト

Bundler で C のソースを含んだ Gem は簡単に作れる – Qiita

Ruby の拡張ライブラリを作ってみよう!| ser1zw’s blog

Ruby の gem をインストールしている際に他のライブラリのインストールを要求してくる native extension とは何者か | woshidan’s loose leaf

Native Extension のビルドどうしてますか? | SlideShare

Gems with Extensions | RubyGems Guides [Official]

Writing Ruby C extensions: Part 1 | Tenderlovemaking

Writing Ruby C Extensions: Part 2 | Tenderlovemaking

What exactly is a gem native extension? – Stack Overflow

mkmf

参考:

mkmf でわくわく環境チェック – Qiita

library mkmf (Ruby 2.6.0)

Module: MakeMakefile — Documentation for mkmf | RubyDoc.info

FFI

参考:

ffi/ffi: Ruby FFI – GitHub

Documentation for ffi | RubyDoc.info

ffi/ffi Wiki – GitHub

Ruby FFI を使ったエクステンションの作り方 | Boost Your Programming!

ffiを使ってCの関数を Ruby から呼び出す | なんかかきたい

ruby-ffi についてざっくり解説 | SlideShare

C++ function throwing exception terminates Ruby application · Issue #659 · ffi/ffi – GitHub

Fiddle

参考:

Module: Fiddle — Documentation for fiddle | RubyDoc.info

Bundler でビルドオプションを指定する

$ bundle config build.my_gem --option-name=value

参考:

Bundler で gem に固有のビルドオプションを指定する方法。| Sooey

Passing build options to bundler | Rails Guides

ビルドログを出力する

$ MAKE="make V=1" gem install ffi --verbose

参考:

Segfault on macOS with ffi > 1.9.21 · Issue #619 · ffi/ffi – GitHub

C 拡張ビルドの仕組み

参考:

gem install で C拡張をビルドする流れを追ってみた | sonots:blog

Rust

参考:

Rust だけで Ruby native extension を書く | blog.daich.org

Helix

参考:

Helix – Native Ruby Extensions Without Fear

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です