• ベストアンサー

linuxにある・・・.soファイルは何?

・・・.so というファイルがlinuxにはありますが これはどういうふぁいるなのでしょうか?

  • reiman
  • お礼率73% (794/1076)

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

  • ベストアンサー
  • 486HA
  • ベストアンサー率45% (1013/2247)
回答No.2

  SO即ちshared object(.soファイル)とは、Windowsでいうところのダイナミックリンクファイル(.dll)です。 ダイナミックリンクファイルとは、プログラムのコンパイル時ではなく実行時にリンクされるライブラリの事です。 こうする事で各プログラムで共通に使う関数が、それぞれのプログラム内部にリンクされる事なく共通で使われます。  soファイルにはgoogleearth.so.0.1200.3のようにバージョン番号を伴うケースが多く、下位互換が損なわれるため、 同じライブラリの異なるバージョンを共存させたいケースや、より上位のバージョンが必要な際に誤ってリンクしないようにするためです。  

reiman
質問者

お礼

詳しい説明有難うございました よくわかりました

その他の回答 (1)

  • kaZho_em
  • ベストアンサー率50% (2950/5879)
回答No.1

共有ライブラリ(共有オブジェクト)です。 Windows系でいうと、DLLに相当するものと考えれば良いでしょう。

reiman
質問者

補足

回答ありがとうございます 常駐はしていないのでしょうか? ただ、実行されているプログラムから受動的に実行されるだけの存在なのでしょうか? よろしくお願いします

関連するQ&A

  • RedHatに関して、 .so ファイルとは?

    RedHatにあるソフトを入れて実行しようとしたところError:Cannot find /usr/local/soft/lib/tcltk_soft.soというエラーが出ます。。tcltk_soft.soというファイルはどこにも見当たりません。そもそも .so とはどのようなファイルなのでしょうか? Linuxは全くの素人です。 もし何かご存知であれば教えていただけると助かります。

  • Linux用メールソフトがso-netでは使えない。

    今までISPとしてplalaを使っていて、ubuntu,fedora,centos等のLinuxで distributionのメールソフトは勿論、thunderbird等の外部ソフトも使えて いたのですが、ISPをso-netに代えてから、メールの送受信ができなくなり ました。具体的には、例えば、thunderbird等をインストールは出来て、 メーラーとしてオープンするのですが、最後にパスワードを聞かれて、 登録済みのパスワードを入れても、受け付けてくれません。 これは、ISPのso-netではLinux対応してないので、通じないということ でしょうか?  plalaと同様に使えるようにするためには、何か方法はあるのでしょうか? もし分かったら、教えていただきますようお願いいたします。 よろしくお願いいたします。

  • Linuxでwindowsのファイルの開き方

    Linuxでwindowsのファイルの開き方 譲ってもらったPCで、Linuxとwindows XPがbootで選択 できるようになっています。 今回、Linuxは起動しますが、windowsが起動しなくなり、 Linuxで、windowsで作成したファイルを開きたいですが、 その方法を教えてください。 また、その際、windowsで内容を 「暗号化してデータをセキュリティで保護する」 に設定してあるファイルを見ることが可能でしょうか? お願いいたします。

  • libで始まらない so のリンク

    実は C/C++ カテでも質問したのですが、linuxカテの方が適切と思われるので ここであらためて質問します。Linuxは Cent OS 6.4(32bit)です。 もともとプラグイン用の so で dlopen で利用されていた so (仮に foo.so とします) が有ります。プラグインのファイル名は命名規約によって決まっており、lib~.soにはできません。 #意図的にそうしたらしいです。 この中で使われている C++ のクラスを使って(継承して)、新しいプラグインを作ることになり ld -shared -o bar.so -L ../foo -lfoo ・・・・・・ でリンクしようとすると cannot find -lfoo となってしまいます。もちろん foo.so の名称を libfoo,so に直せば問題なくリンクできるのですが、プラグインの命名規則のため できません。 ld -shared -o bar.so ../foo/foo.so ・・・・・・ とすると、リンクは可能ですが、bar.so に foo.so が[../foo/foo.so]という名称で 登録されてしまうため、実行ファイルと foo.so との位置関係が制約されてしまいます。 また、 ld -shared -o bar.so -L../foo -l:foo.so ・・・・・・ とすると、やはり、bar.so に foo.so が[../foo/foo.so]という名称で 登録されてしまうのです。 linfoo.so を -lfoo で登録すると [libfoo.so]という名称で登録され、LD_LIBRARY_PATH等に きちんと従わせることができます。これと同様に foo.so をリンクする方法を探しています。 ひょっとするとこうしたことは Linux では非常識なのでしょうか? ご存知の方がおられましたら、よろしくお願いいたします。

  • soファイルを作成したい

    soファイルを作成したいのですが、どのようにすればよいのでしょうか? 最終的には、sqlite.soを作成したいと思っています。 環境・作成方法等を教えていただければ幸いです。

    • ベストアンサー
    • PHP
  • Linuxでバッチファイル?

    Linuxをまだ勉強中の身なので教えてください。 Linuxでファイルを実行すると、他のサーバー(AIX)にFTPで接続してその中のホームディレクトリの下にあるファイルをすべてコピーしてくるなんて事はできるのでしょうか? もしできるとして、そんな仕様のバッチファイルをWindowsで作成しておいてLinux上で実行させることも可能なのですか?

  • Linuxで、巨大なファイルを作成したいのですがどのようにすればよいでしょうか?

    Linuxで、巨大なファイルを作成したいのですがどのようにすればよいでしょうか? 以下のような事がしたいです。 1) 最初は1GBぐらいの0で埋められたファイル 2) 10GBぐらいの0xFFで埋められたファイル 3) ファイルサイズは可変で、埋められる値はランダム値 32bitのLinux 例えば CentOS5ですが、1ファイルの作成上限はあるのでしょうか?

  • libz.so.0

    このあいだ、Linuxにrpmをインストールしようとしたら、 「依存性の欠如:libz.so.0は○○○に必要とされています」 と表示されて、インストールできませんでした。 まだLinuxを使い始めてから日が浅いので、なんのことやらさっぱり分からず困ってます。 どなたかLinuxにお詳しい方、どうしたらよいか教えていただけませんか? よろしくお願いします。

  • Linuxのファイルサーバーに移らないファイルがある?

    できるLINUXという本を読み、イントラネットサーバを立てました。 特に問題ないと思うのですが、ファイルサーバーとして利用してみようと思い、windowsのパソコンからLINUXのpublicとしたフォルダへ、ファイルを移しています。  ところが、うまく移す事ができないファイルがあるのです。 何故なのでしょうか。 移るものは、すんなりと行くのですが、できないファイルはいつも特定のものです。 エラーメッセージとして、 [LINUXのpublicの移動先のフォルダ名]は存在しません。作成しますか。→(一応、はいで抜ける) もう一度、上と同じメッセージが出る。→(また、はいで抜ける) [移したいファイル名]を作成または置換できません。既に存在するファイルを作成する事はできません。” と、出ます。 よろしくお願いします! 追伸、移らないファイルを英文字に変えたら、うまくいきました。 しかし、漢字交じりのファイル名でもすんなり移るものもあります。 基本的にファイル名に漢字は用いない方がいい、という事なのでしょうか? また、漢字のファイル名が使用できるような良い方法は何かあるのでしょうか。

  • Linuxから別PCのLinux上のファイル参照

    LinuxマシンからWindowsマシンのファイルを参照する時は、 smbmountというコマンドを使っているのですが、 Linuxマシンから別のLinuxマシンのファイルを参照する時に使えるようなコマンドはあるのでしょうか?