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
参考:
Module: MakeMakefile — Documentation for mkmf | RubyDoc.info
FFI
参考:
Documentation for ffi | RubyDoc.info
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
参考: