如何製作 Ruby 擴充功能
· 1 分鐘閱讀
這是一個以傳回 3 為範例的程式。
首先,用 C 語言撰寫原始碼。
// three.c
#include <ruby.h>
static VALUE int_three(void){
return INT2NUM(3);
}
void Init_three(void){
rb_define_singleton_method(rb_cInteger, "three", int_three, 0);
}
建立用於生成 Makefile 的腳本。
# extcof.rb
require 'mkmf'
create_makefile "three"
執行 Make
$ make
撰寫 Ruby 腳本來呼叫建立好的程式。
# main.rb
require "./three"
p Integer.three
執行
$ ruby main.rb
3
読み込み中...