[#7878] libwww-ruby — TAKAHASHI Masayoshi <maki@...>

高橋です。ごぶさたしています。

31 messages 1998/05/13
[#7881] RE: libwww-ruby — OZAWA Sakuro <crouton@...> 1998/05/13

さく%札幌出張@塩尻です.

[#7882] Re: libwww-ruby — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#7884] Re: libwww-ruby — Eiji-usagi-MATSUmoto <ematsu@...> 1998/05/14

うさぎです

[#7885] Re: libwww-ruby — matz@... (Yukihiro Matsumoto) 1998/05/14

まつもと ゆきひろです

[#7886] Re: libwww-ruby — Eiji-usagi-MATSUmoto <ematsu@...> 1998/05/14

うさぎです

[#7888] Re: libwww-ruby — Mitsuru Ogino <ogino@...> 1998/05/14

ちょっとした疑問ですが。

[#7904] Re: filename (Re: libwww-ruby) — 助田 雅紀 <masaki.suketa@...>

助田です。

19 messages 1998/05/15
[#7908] Re: filename (Re: libwww-ruby) — ttate@... 1998/05/15

立石@JAISTです。

[#7909] Ruby Application Archive (Re: Re: filename (Re: libwww-ruby)) — matz@... (Yukihiro Matsumoto) 1998/05/15

まつもと ゆきひろです

[#7912] Re: filename (Re: libwww-ruby) — Makoto Nukui <gnue@...>

ども、GNUE(鵺)です。

16 messages 1998/05/15
[#7926] Re: filename (Re: libwww-ruby) — TAKAHASHI Masayoshi <maki@...> 1998/05/15

高橋です。

[#7965] links from ruby home page — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 1998/05/18
[#7966] Re: links from ruby home page — WATANABE Tetsuya <tetsu@...> 1998/05/18

>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:

[#7967] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7968] Re: links from ruby home page — WATANABE Tetsuya <tetsu@...> 1998/05/18

>>>>> "matz" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:

[#7969] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7974] Re: links from ruby home page — matz@... (Yukihiro Matsumoto) 1998/05/18

まつもと ゆきひろです

[#7979] dbm — Kazuhiro HIWADA <hiwada@...> 1998/05/18

ひわだといいます。こんにちは。

[#7990] Re: dbm — matz@... (Yukihiro Matsumoto) 1998/05/19

まつもと ゆきひろです

[#8002] Dir.open order — Kikutani Makoto <kikutani@...>

きくたに@マサチューセッツです。

13 messages 1998/05/19

[#8099] cathedral v.s. bazaar — Kikutani Makoto <kikutani@...>

debian-usersで話題になってる

23 messages 1998/05/27
[#8103] Re: cathedral v.s. bazaar — TAKAHASHI Masayoshi <maki@...> 1998/05/28

高橋です。

[#8104] Re: cathedral v.s. bazaar — WATANABE Tetsuya <tetsu@...> 1998/05/28

>>>>> "T" == TAKAHASHI Masayoshi <maki@inac.co.jp> writes:

[#8106] Re: cathedral v.s. bazaar — ttate@... 1998/05/28

立石@JAISTです。

[ruby-list:7970] Re: CGI (Re: filename (Re: libwww-ruby))

From: ttate@...
Date: 1998-05-18 06:38:21 UTC
List: ruby-list #7970
立石@JAISTです。

matz@netlab.co.jpさん(05月18日14時):
matz>>|# ruby って C++ で書かれたものも呼び出せるんですか?
matz>>
matz>>そのままではできません.現状では以下の手順を使って下さい.
matz>>
matz>>  * 通常の拡張モジュールを書く(拡張子は.c)
matz>>  * 拡張モジュール全体(あるいはプロトタイプ)をextern "C"で囲む
matz>>  * Makefileを生成
matz>>  * ファイルの拡張子,Makefile内の拡張子を.cc(or .C)に変更
matz>>  * コンパイル・リンク

そんなことってできたんですね、、、(^^;
ためしに、簡単なものを書いて試してみたら
ちゃんとできました。↓

------
extern "C" {

#include <stdio.h>
#include <string.h>
#include "ruby.h"

class Class{
  char message[15];
public:
  Class(char* str){
    strcpy(message,str);
  };
  
  VALUE print(){
      printf(message);
      printf("\n");
      return TRUE;
  };
};

VALUE cTEST;

VALUE oTEST_A;
VALUE oTEST_B;

VALUE print(VALUE self, VALUE val){
  Class *c;
  Data_Get_Struct(val,Class,c);
  return c->print();
};

Init_test(){
  Class *obj_a = new Class("this is a");
  Class *obj_b = new Class("this is b");

  oTEST_A = Data_Wrap_Struct(cObject,0,0,obj_a);
  oTEST_B = Data_Wrap_Struct(cObject,0,0,obj_b);
  rb_define_global_const("AAA",oTEST_A);
  rb_define_global_const("BBB",oTEST_B);

  cTEST = rb_define_class("TEST",cObject);
  rb_define_method(cTEST,"print",print,1);
};


};
---------


----------------------------------------------
Name	Takaaki Tateishi
E-Mail 	ttate@jaist.ac.jp
	tateishi@pluto.dti.ne.jp
URL	http://www.pluto.dti.ne.jp/~tateishi/
Org	School of Information Science
	Japan Advanced Institute of Science and Technology (JAIST)

In This Thread