アプリ版:「スタンプのみでお礼する」機能のリリースについて

Rubyの.soについて
拡張子が.soファイルがあるのですが、これはなんなのでしょうか。
また、Rubyのファイルは基本テキスト形式ですが、C++のプログラムで扱う場合、配布する際には、バイナリ形式にすると思うのですが、それはどうすればいいのでしょうか。(間違ってたらすいません)

さらに、Ruby関係でおすすめの本がありましたら、教えて頂けると幸いです。ちなみにC++はある程度できます。
長文失礼しました。

A 回答 (2件)

>拡張子が.soファイルがあるのですが、これはなんなのでしょうか。


ダイナミックリンクライブラリです。
rubyからある特定のクラスのメソッドを呼び出すとき、そのクラスのメソッドの実装されたものが
このダイナミックリンクライブラリです。
通常、C言語で作成されています。
rubyの使用者(ダイナミックリンクライブラリの呼び出し側)は、どのような言語で
作られているかに関心は、ありませんので、呼び出したメソッド(ダイナミックリンクライブラリ)が
期待した結果を返すかどうかだけに関心を持ちます。

>C++のプログラムで扱う場合、配布する際には、バイナリ形式にすると思うのですが、それはどうすればいいのでしょうか。
この意味がよくわかりませんが、rubyの拡張モジュールを作成されたいということでしょうか。
rubyの拡張モジュールも、拡張子が.SOのダイナミックリンクライブラリとなります。
rubyの拡張モジュールを作成する場合、ruby 拡張モジュール 拡張ライブラリ 等のキーワードで検索を行って、調査して下さい。私はC言語での拡張モジュールの作成は行ったことがありますが、それを配布したことはありません。拡張モジュールの作成自体は、非常に困難というわけではありませんが、それほど簡単というわけでもありません。また、もし本格的に、この作業を行いたいのなら、rubyのメーリングリストに参加されることをおすすめします。
参考URLからメーリングリストへたどれます。

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

> また、Rubyのファイルは基本テキスト形式ですが、C++のプログラムで扱う場合、配布する際には、バイナリ形式にすると思うのですが、それはどうすればいいのでしょうか。

(間違ってたらすいません)

これが、C++等のように
ソースコード→バイナリの実行ファイル
とコンパイルしたい、ということだとしたら、

Rubyのようなスクリプト言語では、ソースコード=実行ファイルで、そのまま配布するのが基本です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!