跳至主要內容

如何製作 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

コメント

読み込み中...

コメントを投稿する