hawksnowlog
ラベル
NativeExtensions
の投稿を表示しています。
すべての投稿を表示
ラベル
NativeExtensions
の投稿を表示しています。
すべての投稿を表示
2019年4月3日水曜日
NativeExtensions でブロックを引数に取ってみる
›
概要 環境 とりあえずブロックを文字列として扱う 独自のクラスのオブジェクトを扱う 最後に 参考サイト 概要 NativeExtensions の開発でブロックを渡せるメソッドを作成してみました 環境 macOS 10.14.3 R...
2019年4月1日月曜日
NativeExtensions で accessor を作る
›
概要 環境 サンプルコード テストコード ポイント 最後に 参考サイト 概要 NativeExtensions で accessor (所謂 getter/setter) を作ってみたいと思います 当然ですが attr_accessor のよ...
2019年3月31日日曜日
NativeExteions で別のクラスの Struct を return する関数を考える
›
概要 環境 サンプルコード ポイント テスト 最後に 概要 NativeExtensions でインスタンスメソッドを定義する場合大抵は FIX2INT や rb_str_new2 を使って値を返します ただケースとしてインスタンスメソッドが...
2019年3月30日土曜日
NativeExtensions で method chain 的な使い方をする方法
›
概要 環境 サンプルコード 使う 概要 NativeExtensions で作ったライブラリでも Ruby 側で使うときは method chain 的にドットを使ってメンバなどを参照したいです そんな場合に使えるサンプルを紹介します 環境 ...
2019年3月29日金曜日
Ruby の NativeExtensions で boolean を引数に取る方法
›
概要 環境 サンプル テストコード 最後に 参考サイト 概要 C 側で Ruby の Boolean を扱う方法です 環境 macOS 10.14.3 Ruby 2.5.1p57 サンプル C 側のコードは以下の通りで...
2019年3月22日金曜日
rb_raise で指定可能なエラーの一覧
›
概要 環境 一覧 どうやって出したの 概要 rb_raise は ruby の C API で C 側から Ruby のエラーを発生させることができます 第一引数でエラーの種類を指定することができるのですが情報が見つからないので自分で出してみました...
2019年3月18日月曜日
NativeExtensions な gem に rdoc のコメントを入れてドキュメントを生成する方法
›
概要 環境 とりあえずコメントを入れてみる ドキュメントを作成する クラスにコメントを入れる 引数の説明や返り値の説明を入れる Constants と VERSION を設定する Pages と Table of Contents 最後に 参考サイト ...
2019年3月17日日曜日
複数の .c ファイルを作成して NativeExtensions を開発する方法
›
概要 環境 .c ファイルを追加する エントリーポイントとなる .c ファイルから参照する コンパイル&テスト 最後に 参考サイト 概要 NativeExtensions でクラスやモジュールを複数定義した場合があると思います 構造体も...
2019年3月16日土曜日
NativeExtensions を gem ファイルにパッケージする方法
›
概要 環境 .gemspec の編集 コンパイル git commit ビルド ローカルインストール gem の作り直し その他 最後に 概要 通常の gem を作成する方法とほぼ変わりませんが rake compile したり gemsp...
2019年3月15日金曜日
NativeExtensions のテスト書く方法
›
概要 環境 必要なファイル rake-compiler のインストール Rakefile の編集 lib/firstext/version.rb spec/spec_helper.rb spec/firstext_spec.rb 動作確認 最後に 参考サイ...
2019年3月14日木曜日
NativeExtensions で Struct を使う方法
›
概要 環境 サンプルコード 説明 構造体自体をリターンするには 最後に 概要 Struct をメモリ空間に展開し、それに Ruby からアクセスする方法を紹介します 環境 CentOS 7.5.1804 Ruby 2.5.0p0 ...
2019年3月13日水曜日
NativeExtensions を開発するときに独自のヘッダファイルと so ファイルを使う方法
›
概要 環境 extconf.rb を編集する 参考サイト 概要 apt や yum でインストールできるライブラリは特に気にする必要はありませんが場合によってはそれらを使ってライブラリをインストールできないことがあると思います .h ファイルと .so...
2019年3月6日水曜日
Ruby で native extension な gem を作成する方法
›
概要 環境 プロジェクト作成 ext ディレクトリの準備 ライブラリ参照 (firstext.rb) サンプルコード (firstext.c) ビルド 動作確認 最後に 参考サイト 概要 過去 に gem を作成する方法を紹介しました 今回は...
›
ホーム
ウェブ バージョンを表示