[#43271] rails がこけます — "Hideo Konami" <konami@...>

小波です。

15 messages 2007/03/18
[#43273] Re: rails がこけます — 山崎雄介 <y-yamasaki@...> 2007/03/19

山崎です。

[#43274] rubyスクリプト内で、unixコマンドを実行 — 上間 健 <mugenkai15@...> 2007/03/19

こんにちは、上間です。

[#43286] モジュールのinclude先の名前 — Sato Hiroshi <hirocy.f01@...>

hirocyです.

23 messages 2007/03/22
[#43290] system(wget url) について — Kyoko Sato <k.sato@...> 2007/03/22

お世話になっております。佐藤です。

[#43291] Re: system(wget url) について — Yukiharu Yabuki <yabuki@...> 2007/03/22

こんにちは

[#43293] Re: system(wget url) について — Kyoko Sato <k.sato@...> 2007/03/22

矢吹さん有難うございます。佐藤です。

[#43294] Re: system(wget url) について — Yukihiro Matsumoto <matz@...> 2007/03/22

まつもと ゆきひろです

[#43295] Re: system(wget url) について — Kyoko Sato <k.sato@...> 2007/03/22

まつもとゆきひろさん有難うございます。佐藤です。

[ruby-list:43264] ruby-swigでのdouble型の扱い

From: HIiroshi Kasamatsu <qqmn89yb9@...>
Date: 2007-03-10 14:09:08 UTC
List: ruby-list #43264
こんにちは、笠松と申します。
swigを使って、C言語のdouble型変数とdouble型関数の返り値を
ruby側で受け取ろうとしています。
問題が2つ生じました。
問題1.double型変数についてmakeで失敗する。これはint型でも同じでした。
 ソースを示します。
*calc.c
  double d=0.5;
*test.i
  %module example
  extern double d;
*extconf.rb
  require 'mkmf'
  create_makefile('example')

次の順で進めていきます。

1.swig -ruby test.i
2.ruby extconf.rb
3.make
makeで以下のようなエラーとなってしまいます。
test_wrap.c: 関数 `d_get' 内:
test_wrap.c:1576: error: `d' undeclared (first use in this function)
test_wrap.c:1576: error: (Each undeclared identifier is reported only once
test_wrap.c:1576: error: for each function it appears in.)
test_wrap.c: 関数 `d_set' 内:
test_wrap.c:1589: error: `d' undeclared (first use in this function)
make: *** [test_wrap.o] エラー 1

問題2.double型関数の戻り値が0.0となってしまう。
ソースを示します。
*calc.c
  double add(double a, double b){
     return(a+b);
  }
*test.i
  %module example
  extern double add(double a, double b);
*extconf.rb
  require 'mkmf'
  create_makefile('example')

1.swig -ruby test.i
2.ruby extconf.rb
3.make
そして、ruby側で
require 'example'
ans=Example.add(0.3,0.5)
puts(ans.to_s)
とすると、0.0となってしまいます。
Cで数値計算処理し、ruby/tkで表示を考えていますが
ここでつまづいています。
どうか、ご教授の程、よろしくお願いいたします。





In This Thread

Prev Next