• ベストアンサー

Rubyの.soについて

Rubyの.soについて 拡張子が.soファイルがあるのですが、これはなんなのでしょうか。 また、Rubyのファイルは基本テキスト形式ですが、C++のプログラムで扱う場合、配布する際には、バイナリ形式にすると思うのですが、それはどうすればいいのでしょうか。(間違ってたらすいません) さらに、Ruby関係でおすすめの本がありましたら、教えて頂けると幸いです。ちなみにC++はある程度できます。 長文失礼しました。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

>拡張子が.soファイルがあるのですが、これはなんなのでしょうか。 ダイナミックリンクライブラリです。 rubyからある特定のクラスのメソッドを呼び出すとき、そのクラスのメソッドの実装されたものが このダイナミックリンクライブラリです。 通常、C言語で作成されています。 rubyの使用者(ダイナミックリンクライブラリの呼び出し側)は、どのような言語で 作られているかに関心は、ありませんので、呼び出したメソッド(ダイナミックリンクライブラリ)が 期待した結果を返すかどうかだけに関心を持ちます。 >C++のプログラムで扱う場合、配布する際には、バイナリ形式にすると思うのですが、それはどうすればいいのでしょうか。 この意味がよくわかりませんが、rubyの拡張モジュールを作成されたいということでしょうか。 rubyの拡張モジュールも、拡張子が.SOのダイナミックリンクライブラリとなります。 rubyの拡張モジュールを作成する場合、ruby 拡張モジュール 拡張ライブラリ 等のキーワードで検索を行って、調査して下さい。私はC言語での拡張モジュールの作成は行ったことがありますが、それを配布したことはありません。拡張モジュールの作成自体は、非常に困難というわけではありませんが、それほど簡単というわけでもありません。また、もし本格的に、この作業を行いたいのなら、rubyのメーリングリストに参加されることをおすすめします。 参考URLからメーリングリストへたどれます。

参考URL:
http://www.ruby-lang.org/ja/

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

> また、Rubyのファイルは基本テキスト形式ですが、C++のプログラムで扱う場合、配布する際には、バイナリ形式にすると思うのですが、それはどうすればいいのでしょうか。(間違ってたらすいません) これが、C++等のように ソースコード→バイナリの実行ファイル とコンパイルしたい、ということだとしたら、 Rubyのようなスクリプト言語では、ソースコード=実行ファイルで、そのまま配布するのが基本です。

関連するQ&A