タグ

soに関するyukimori_726のブックマーク (4)

  • C++形式の共有ライブラリの書き方(gcc編) - Qiita

    この記事はADVENTARのC++ Advent Calender 2016の7日目の記事です。 明日はyumetodoさんのKCS_KAIでの高速化の経験をまとめた何かです。KanColleSimulatorの頭文字のようですがKAIってなんだろう? 1.はじめに 昨日、C++形式の動的リンク・ライブラリの書き方(msvc編)としてVisual C++用の「動的リンク・ライブラリ」のノウハウを書きました。 今日は、「共有ライブラリの書き方」としてます。共有ライブラリと動的リンク・ライブラリ何が違うのでしょうか? 実は良く分かりません(笑)。 大きな括りでは同じものと考えて良さそうです。例えば、CMakeは共有ライブラリも動的リンク・ライブラリもSharedと指定します。同じ用語を割り当ててますし。 さて、昨日と同じく私が今開発しているC++用のオート・シリアライザ(Theolizer)を

    C++形式の共有ライブラリの書き方(gcc編) - Qiita
  • 動的共有ライブラリのバージョン管理 - torutkのブログ

    d:id:torutk:20081103でBoostライブラリのSONAMEについて調べていました。今回は、自分で作成するプログラムにおいて、動的共有ライブラリファイルのSONAMEの仕組みを使ってバージョン管理をする方法を模索しました。 やりたいこと C++のプログラムを動的共有ライブラリで作成・提供する際、ライブラリのバージョンアップにおいて、ソース互換性、バイナリ互換性の有無をバージョン番号で区別したい。 また、バイナリ互換性を失うバージョンアップの際は、誤って新しいバージョンのライブラリと古いライブラリ利用コードとを実行時にリンクできないようにしたい。 バージョン番号の付け方 バージョンアップには以下の種類があります。 ソース互換性も失う大きなバージョンアップ ソース互換性はあるがバイナリ互換性を失うバージョンアップ ソース互換性もバイナリ互換性もあるバージョンアップ Linux

    動的共有ライブラリのバージョン管理 - torutkのブログ
  • 環境変数LD_LIBRARY_PATH - Linux初心者のためのLinux入門

    ■管理人サイトLinux初心者の基礎知識でLinuxを基礎から学ぼう!! 共有ライブラリは、/etc/ld.so.confで指定されたディレクトリ などからダイナミックリンクローダによって検索を行いますが、 ユーザーごとに共有ライブラリを追加したい場合は 環境変数LD_LIBRARY_PATHを用いることができます。 環境変数LD_LIBRARY_PATHにライブラリファイルの あるディレクトリパスを指定すると、そのライブラリも検索の 対象とすることができます。

    環境変数LD_LIBRARY_PATH - Linux初心者のためのLinux入門
  • Linux共有ライブラリの簡単なまとめ - wagavulin's blog

    Linuxで共有ライブラリ(*.so)を作るようになったのでちょっと勉強してみた。今までは使うだけだったので、以下のようなことは知っていた。 作るときはgccの-sharedオプションを使う。 使うときはgccの"-lライブラリ名"でリンクするライブラリを指定する。 リンク時のライブラリ探索パスは-Lオプションで指定する。 実行時のライブラリ探索パスは/etc/ld.so.confに書いてあるディレクトリ。環境変数LD_LIBRARY_PATHでも指定可能。 ライブラリを作るときは、.cから.oを作るときに-fPICをつけるといいらしい。 新しくライブラリを入れたときはldconfigするといいらしい。 逆に今まであまり知らなかったこと。 ほとんどのライブラリはlibhoge.so, libhoge.so.1, libhoge.so.1.1のように3つくらいのファイルがあり、libhoge

    Linux共有ライブラリの簡単なまとめ - wagavulin's blog
  • 1