ライブラリとは?
|
ファイナンシャルプランナーが作った家計簿「入力マット」機能でスピーディな入力を可能にした多機能家計簿ソフトWindows Vista/XP/Me/2000/98(製品:試用可) ファイルサルベージ 6対象ファイルタイプを追加できるようになったデータ復旧ソフトの新バージョン★Mac OS X(製品:試用不可) D-SendMailグループ送信にも対応した、シンプルで手軽なメール送信専用ソフトWindows XP(フリーソフト(寄付歓迎)) デジタルシュレッダーアイコンにドラッグ&ドロップするだけで、データを復元不可能な状態にしてくれるファイル削除ソフトWindows Vista/XP/2000(製品:試用不可) ゆきんこレギオン 【Vector GAMES】ライフルやバズーカで雪玉を発射し、敵のヘリコプターや戦車を撃つ雪合戦アクションゲームWindows XP/Me/2000/98/95(フリーソフト) My Schedule仕事などにかかった時間を計算することも可能なスケジュール管理ソフトWindows Vista/XP/2000(フリーソフト) DS_VideoAlbumサムネイルでわかりやすく管理できる、軽快動作の動画管理・再生ソフトWindows XP(フリーソフト) おきらく!アイコンエディタマルチプルアイコンを作成することもできる簡単操作のアイコンエディタWindows Vista/XP(その他) はがき さくっとファイリング差出人の自動振り分け機能を備えたはがきスキャン画像整理ソフトWindows Vista/XP(製品:試用可) 新着ソフトレビュー 公開記事一覧公開日順またはカテゴリー別で、公開済みレビュー記事の一覧をご覧いただけます 歴史道場マニアックス年代暗記支援や旧国名の学習機能も付いた四択解答式の歴史学習ソフトWindows XP/Me/98/95(シェアウェア) オンライントレードを極める! (Windows)インターネットを使って株式や為替の売買を行う「オンライントレード」に便利なソフトを紹介。株価などの単なる“生データ”を、すばやく読み取って的確に分析するためには、専用ソフトの力を借りるのが近道だ。 “職場で最初に用意したい”フレッシャーズ向けビジネス用ソフト (Windows)新社会人に向けた、ビジネスシーンで活用できるちょっと便利なソフトをピックアップ。先輩や上司に仕事上でちょっとしたアピールをしたいと考えている新入社員の方はもちろん、業務効率を上げたい方も必見!! 「2007 Microsoft Office system」を導入しよう (Windows)今回の特集では、リリースされたばかりの最新版Officeを取り上げる。「日々の業務効率がアップするアプリケーションの紹介」と、「購入時にどのスイートを選択すればよいか」の2点に絞って詳しく説明してゆく。“新生Office”導入の指針になれば幸いだ。 SNSサイト「mixi」の達人になる (Windows)会員数500万人超を誇る人気SNSサイト「mixi(ミクシィ)」。最近ニュースで頻繁に取り上げられていることもあり、会員数は増加の一途を辿っているという。今回は、そんな「mixi」の使い勝手を向上するソフトを紹介。「mixi」初心者から上級者まで、多くの方が手軽に使えるものをチョイスしていく。 ベクターソフトニュース、スポットライト、PickUpに関するご意見・ご感想は editor@vector.co.jp まで |
[ 45] Vector Softライブラリ
[引用サイト] http://www.vector.co.jp/magazine/softnews/
|
生物学において、ある属性を持った一群のDNA断片がベクターにクローン化されたもの。ゲノムライブラリ、cDNAライブラリなど。→遺伝子ライブラリ ソフトウェアなどを分類ごとにまとめたメディアのこと。主にウェブサイトか光ディスクとして提供される。ベクター、窓の杜、MSDNライブラリなど。 ライブラリは、汎用性の高い複数のプログラムを、再利用可能な形でひとまとまりにしたものである。一般にライブラリは、それ単体ではプログラムとして動作させることはできないので実行ファイルではない。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがある。たとえば、UNIXのライブラリはオブジェクトコードをarと呼ばれるアーカイバでひとまとめにして利用する。 動的リンク(dynamic linking)は、あるライブラリ内のデータ(コードを含む)を新たな実行ファイルのコンパイル時にコピーすることはなく、ディスク上に別のファイルとして存在している。コンパイル時にリンカが行うのは、その実行ファイルが必要とするのがどのライブラリのどの部分であるか(関数名やインデックス)を記録するだけである。リンク作業の大部分はそのアプリケーションがメモリ上にロードされたときか、実行時である。リンクを行うコードはローダ(loader)と呼ばれ、実際にはオペレーティングシステムの一部と見なされる。適当な時点でローダは必要なライブラリをディスク上で見つけてプロセスのメモリ空間に(追加のデータ空間と共に)マッピングする。OSによってはプロセスが実行開始する前でないとライブラリをリンクできないものもあるが、多くのOSではプロセス実行時に実際にライブラリを参照したときにリンクすることができる。後者は「遅延読み込み」などと呼ばれる。どちらの場合もライブラリはダイナミックリンクライブラリと呼ばれる。DLL という呼び方は Microsoft Windows 環境で一般的であり、動的ライブラリのファイル拡張子は .dll である。 ローダの処理は、メモリ上の各ライブラリの位置が実際にロードされるまで確定しないため、ちょっとしたトリックを必要とする。ディスク上のファイル内に絶対アドレスを書きこんでおくことはDLL内であっても不可能である。理論的にはメモリにロードされたときにライブラリを参照している部分を全て書き換えて正しいメモリ上の位置を参照するようにすることはできるが、それによって消費される時間とメモリは無視できない。その代わりに多くの動的リンクシステムではアドレス欄が空欄となったシンボルテーブルをコンパイル時に用意する。ライブラリへの参照は全てこのシンボルテーブルを経由して行われる(コンパイラはシンボルテーブルからアドレスを取り出して使うコードを生成する)。メモリにロードされたとき、ローダがこのテーブルを書き換える。 ライブラリも全メソッド(関数、サブルーチン)のテーブルを持っている。ライブラリに入ってくるときは、このテーブルを経由して各ルーチンにジャンプする。これによってライブラリのルーチンコールにオーバヘッドが発生するが、それは無視できるほど小さい。 動的リンカ/ローダは機能面で様々なものがある。いくつかの場合、実行ファイルに格納された明示的なライブラリパスに依存し、ライブラリ名やディスク上の配置を変更するとシステムが動作できなくなる。より一般的な手法としてはライブラリ名だけを実行ファイルに格納し、オペレーティングシステムが何らかのアルゴリズムでディスク上のライブラリを検索する。UNIX系システムでは、ライブラリを探す場所(ディレクトリ)を構成ファイルにリストアップしておく。ライブラリ開発者はそこに書かれたディレクトリにライブラリを配置することを推奨される。しかし、この方法では新しいライブラリをインストールする際に問題が発生しやすく、共通のディレクトリにあまりにも多くのライブラリが置かれることとなって管理を難しくする。Microsoft Windows ではレジストリを使ってActiveX DLL の場所を決めているが、標準DLLでは、(1)現在のワーキングディレクトリ (2)SetDllDirectory()で示されるディレクトリ (3)System32 ディレクトリ (4)Systemディレクトリ (5)Windowsディレクトリ (6)PATH環境変数で示されるディレクトリ を探す。OPENSTEPはもっと柔軟なシステムを使用していて、ライブラリの探索リストを保持している。しかし不正なDLLが探索の上位に置かれていると実行ファイルは不正動作する可能性がある。Windowsでは、これが「DLL地獄」(DLL hell)と呼ばれ、よく知られている問題である。 これは動的リンクの下位カテゴリであり、コンパイル時にリンクされた以外のダイナミックリンクライブラリを実行中のプログラムが明示的にロードすることである。この場合、ライブラリはプラグインモジュールとして使われるのが一般的で、表計算プログラムのadd-inや特定機能を実現するインタプリタなどが典型的である。 動的ライブラリをサポートしているシステムは動的読み込みAPIもサポートしているのが一般的である。例えばWindowsは LoadLibrary() と GetProcAddress() を用意していて、UNIX系システムでは dlopen() と dlsym() を用意している。いくつかの開発システムではこの処理を自動化している。 もうひとつのライブラリの形態として完全に分離された実行ファイルをRPCと呼ばれる方法で接続するものがある。このアプローチではオペレーティングシステムの再利用が最大に生かされる。つまり、ライブラリサポートのためのコードはアプリケーションサポートのコードやセキュリティサポートのコードと共通化できる。さらに、このライブラリはネットワークを経由した別のマシン上に存在しても構わない。 欠点はライブラリコールの度に無視できないオーバヘッドが発生することである。RPCは非常にコストがかかり、可能な限り排除されてきた。しかし、このアプローチは特定分野で一般化しつつある。特にクライアントサーバシステムやEnterprise JavaBeansのようなアプリケーションサーバで一般的である。 動的か静的かとは別に、ライブラリはプログラム間で共有される方式でも分類される。動的ライブラリは何らかの共有をサポートしており、複数のプログラムが同時に同じライブラリを使用することができる。静的ライブラリは各プログラムにリンクされるため、共有することはできない。 共有ライブラリ(shared library)は、やや曖昧な用語であり、ふたつの概念を含む。第一はディスク上のコードを複数の無関係なプログラムが共有することを意味する。第二の概念はメモリ上のコードの共有であり、ライブラリのロードされた物理メモリページが複数のプロセスのアドレス空間にマップされ、同時にアクセスされることを意味する。一般に後者を共有ライブラリと称するのが推奨され、この方式には様々な利点がある。例えばOPENSTEPでは、アプリケーションの多くは数百Kバイトで即座にロード可能であり、その機能の大部分はライブラリ上に実装されていて、共有可能であるためにOSが別のプログラム用にメモリにロードしたコードイメージがそのまま使用できる。しかし、マルチタスク環境で共有されるコードは特別な配慮が必要であり、そのために性能が若干低下する。 メモリ上の共有ライブラリはUNIXではPosition Independent Code(位置非依存コード)を使って実現される。これは柔軟なアーキテクチャだが複雑であり、Windowsなどでは使われていない。Windowsなどは、DLL毎にマップすべきアドレスを事前に決めておくなどしてメモリ上で共有可能にしている。WindowsのDLLはUNIXから見れば共有ライブラリではない。(訳注:UNIXでもライブラリのマップすべきアドレスを決めている場合がある。ただしそれは性能向上目的であり、基本的にはPIC化されている。) 最近のOSでは共有ライブラリは通常の実行ファイルと同じ形式になっている。これにはふたつの利点がある。第一はひとつのローダで両方をロードできる。それによってローダが若干複雑化するが、十分コストに見合う程度である。第二はシンボルテーブルさえあれば実行ファイルをDLLとして使うことができる点である。このようなファイル形式として、ELF(UNIX)と PE(Windows)がある。Windowsではさらに進んでいて、フォントなどのリソースも同じファイル形式になっている。OPENSTEPでもほとんど全てのシステムリソースが同じファイル形式になっている。 DLLという用語はWindowsやOS/2で主に使われる。UNIXでは「共有ライブラリ」が一般的である。 マルチスレッドでライブラリを使用するにあたっては上述とは別の共有問題が発生する。ライブラリルーチンがデータ領域としてスタックのみを使う場合は問題ないが、ライブラリ内のデータ領域を使う場合、そのデータ領域がスレッド毎に用意されていないことが多い。したがって、そのようなライブラリルーチンを使う場合、実行ファイル側で同時に複数のスレッドが同じライブラリルーチンを使わないように注意しなければならないことがある。 1980年代終盤に開発された動的リンクは1990年代初期にはほとんどのオペレーティングシステムで使用可能となった。ほぼ同時期にオブジェクト指向プログラミング(OOP)が市場に出回り始めた。OOP は従来のライブラリが提供していなかった情報を必要とした。それは、あるオブジェクトが依存しているオブジェクトのリストである。これはOOPの継承という機能の副作用であり、あるメソッドの完全な定義は複数の場所に分散して配置される可能性がある。これは単純化すればライブラリ間の依存関係ということになるが、真のOOPシステムではコンパイル時には依存関係が明らかでなく、そのために様々な解決方法が登場した。 同じころ、多層構造のシステムの考え方も出てきた。デスクトップコンピュータ上の表示プログラムが汎用コンピュータやミニコンピュータの記憶装置や演算機能を利用するものである。例えばGUIベースのコンピュータがミニコンピュータにメッセージを送り、表示すべき膨大なデータの一部を得るというものが考えられた。RPCは既に使われていたが、それは標準化されていなかった。 主要なミニコンおよび汎用機メーカーがこれら二つの問題に関してプロジェクトを結成し、どこでも使えるOOPライブラリ形式を開発した。このようなシステムをオブジェクト・ライブラリ(object library)と呼んだり、リモートアクセスが可能ならば分散オブジェクト(distributed objects)と呼ぶ。マイクロソフト社のCOMは分散機能のないオブジェクトライブラリであり、DCOMはリモートアクセスを可能としたバージョンである。 一時期、オブジェクトライブラリはプログラミングの世界の「次の大きな出来事」とされた。様々なシステムが開発され、競争も激化した。例をあげると、IBMのSOM/DSOM、サン・マイクロシステムズのDOE、NeXTのPDO、DECの ObjectBroker、マイクロソフトのComponent Object Model(COM/DCOM)、そして様々なCORBAベースのシステムがある。 結局、OOPライブラリは次の大きな出来事ではなかった。マイクロソフトのCOMとNeXT(現在はアップルコンピュータ)のPDO以外は、ほとんど使われることも無くなったのである。 Javaではオブジェクトライブラリとして主にjarが使われている。その中には(圧縮された)クラスのバイトコード形式が格納されていて、Java-VMや特殊なクラスローダがそれをロードする。 GNU/Linux、Solaris、BSDの派生OS:/lib、/usr/lib、/usr/local/lib などのフォルダに置かれる libfoo.a や libfoo.so といったファイルはダイナミックリンクライブラリである。ファイル名は常に lib で始まり、.a(静的ライブラリ)か .so(ダイナミックリンクライブラリ)で終わる。オプションとしてインターフェイス番号が付与される場合がある。例えば、libfoo.so.2 は libfoo ライブラリの二番目のメジャーなインターフェイス番号の付いたダイナミックリンクライブラリである。古いUNIXではマイナー番号も使っている場合がある(libfoo.so.1.2)が、最近のUNIXではメジャー番号しか使っていない。動的にロードされたライブラリは /usr/libexec などのディレクトリに置かれる。ライブラリのディレクトリにある .la ファイルは libtool アーカイブである。 Mac OS X:静的ライブラリの命名法はBSDを踏襲していて、.dylib の代わりに .so を使うことも出来る。しかし、多くの動的ライブラリは「バンドル」(bundles)と呼ばれる特別な場所に置かれ、ライブラリに関連するファイルやメタデータもそこに置かれる。例えば、"My Neat Library" というライブラリは "My Neat Library.framework" というバンドルに実装される。 Microsoft Windows:*.LIB というファイルは静的ライブラリで、*.DLL というファイルはダイナミックリンクライブラリである。インターフェイスのリビジョンはファイル内に書きこまれるか、COMインターフェイスを使って抽象化される。また、.NET アセンブリについては、内部のマニフェストに記述される。 カテゴリ: オペレーティングシステムの仕組み | ファイルフォーマット | ライブラリ (プログラミング) |
[ 46] ライブラリ - Wikipedia
[引用サイト] http://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA
|
出勤すると、上司のジェイソンさんが探しにきた。さっそくスタージアさんの個室にかけつける。スタージアさんは国立公園勤務の植物学者で、植生部門の「ナンバー2」に当たる。 防衛省の前次官の接待疑惑と老舗和菓子メーカーの偽装事件など最近の世相の話題をさらっと眺めたあと、水俣病与党プロジェクト対策案についての話題、浜岡原発差し止め請求判決、「ポスト京都」に関するいくつかのトピックス(IPCCとゴア氏へのノーベル賞授与、米国上院での気候安全保障法案の提出、経済同友会の動きと産業界の足並みの乱れ、地球温暖化に関する世論調査と環境税、バイオ燃料の試験販売と今後の見通し、2050低炭素社会プロジェクトについて)を概観します。 日頃使われる頻度の高い環境用語の日本語・英語相互の対訳集です。辞書データはダウンロード可能です。 環境情報ナビゲーションは、環境情報にいわば「省エネ」で手際よくたどりつくための方法を紹介します。 地方の環境研究の紹介コーナーでは全国65の都道府県市の環境・公害関連試験研究機関を会員として構成される全国環境研協議会の 環境年表は、環境白書の環境省(庁)主要事項年表を元に作成されております。 年表のデータ範囲は1873年(明治6年)1月から2006年(平成18年)3月です。年度毎に表示したり、キーワードで検索してご覧頂けます。 このゆびとまれ!エコキッズは、子どもたちが架空の街に入り込んで、生活のさまざまな場面で遭遇するいろいろな環境問題の諸側面を体験できるページです。 わたしたちのごみは?は、“ごみを知って、ごみを減らすことを学ぶ学習ソフト”です。主に中学生に利用してもらうことを考えて作られています。 いま日本の深刻な環境問題の一つに「ごみ」の問題がありますが、ごみは私たちの毎日の暮らしから出てくるものなので、私たち自身が減らす努力をしなくては改善されません。 楽しみながら、ごみについて学んでください。 「わたしのまちのごみ・リサイクル分別ガイド」は、地域や自治体ごとに異なる、ごみの分別やリサイクルの仕方を紹介するウェブページを作成するためのツールです。分別品目、回収日、回収方法など自治体に合わせて入力をすることで、自治体にあったリサイクル分別ガイドを作成できます。 エコライフガイドでは、身近に取り組める環境保全のための方法を、『エネルギー編』、『水編』、『ごみ編』、『化学物質編』の4つにわけて紹介していきます。 環境情報クイズは「地球温暖化クイズ」「砂漠化クイズ」「森林クイズ」の3種類があります。ぜひチャレンジして下さい! 環境カウンセラーのページでは、環境カウンセラーの検索をしたり、環境保全活動に関する地域イベント、講習会、セミナーの案内などを見ることができます。 |
[ 47] EICネット[ライブラリトップページ ]
[引用サイト] http://www.eic.or.jp/library/
