- ベストアンサー
Rubyの.soについて
Rubyの.soについて 拡張子が.soファイルがあるのですが、これはなんなのでしょうか。 また、Rubyのファイルは基本テキスト形式ですが、C++のプログラムで扱う場合、配布する際には、バイナリ形式にすると思うのですが、それはどうすればいいのでしょうか。(間違ってたらすいません) さらに、Ruby関係でおすすめの本がありましたら、教えて頂けると幸いです。ちなみにC++はある程度できます。 長文失礼しました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>拡張子が.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)
> また、Rubyのファイルは基本テキスト形式ですが、C++のプログラムで扱う場合、配布する際には、バイナリ形式にすると思うのですが、それはどうすればいいのでしょうか。(間違ってたらすいません) これが、C++等のように ソースコード→バイナリの実行ファイル とコンパイルしたい、ということだとしたら、 Rubyのようなスクリプト言語では、ソースコード=実行ファイルで、そのまま配布するのが基本です。