-1

前提条件としてBoostを必要とするプログラムをインストールしています。ローカルのアクセス許可やその他の奇抜なファイルに時間を費やす前に、自分が何を変更しているのかを理解したかったのです。

「プログラミング入門で銀行口座プログラムを作成したとき、スタックstlを使用できなかった」という意味でC ++ライブラリを理解していますが、ライブラリの機能についてはよく理解していないと思います。

したがって、質問は次のとおりです。
(1)たとえば、ベクトルstlのようなライブラリに照らして、Boostをどのように理解できますか?
(2)usr / localディレクトリとは何ですか?
(a)Boostのようなライブラリはこのディレクトリに対して何をしていますか?

すべてのヘルプ、または関連する文献へのポインタを歓迎します。c++

4

1 に答える 1

3

一般情報 (すべてのプラットフォームに当てはまります)

C++ のライブラリは、次の 2 種類のファイルで構成されます。

  1. ヘッダー ファイル。これらはあなたのもの#includeであり、ライブラリへのインターフェースを含んでいます。これらは*.hまたは*.hppファイルですが、拡張子は任意です (拡張子なしを含む)。コンパイラは、ライブラリのインターフェイスを認識するためにこれらのファイルを必要とします。

  2. オブジェクト ファイル (オプション)。これらには、ライブラリを実装するコードが含まれている場合があります。これらは*.cppまたは*.cxxファイルから作成されます。(繰り返しますが、ファイル拡張子は何でもかまいません。) リンカは、コンパイルされたライブラリ コードをプログラムにロードするため、またはコンパイルされたコードの場所をローダーに伝えるために、これらのファイルを必要とします。

Unix 固有の情報 (Linux では真、OS X ではほとんど真、Windows では異なる)

通常、ヘッダー ファイルは/usr/include、および にあり/usr/local/includeます。どこにでも配置できますが、コンパイラはこれらの場所を自動的に検索します。

ライブラリ オブジェクト ファイルは通常、/lib/usr/lib、および にあり/usr/local/libます。それらはどこにでも配置できますが、リンカーとローダーはこれらの場所を自動的に検索します。

それらの違いは次のとおりです。

  • /libシステムの起動に必要な最低限のもの用です。

  • /usr/include/usr/libパッケージマネージャーによってインストールされたソフトウェア用です。

  • /usr/local/includeシステム管理者/usr/local/lib(たとえば、あなた) によってインストールされたソフトウェア用です。

  • 覚えておいてください: ライブラリは好きな場所にインストールすることができます。コンパイラとリンカーにライブラリの場所を伝えることを忘れないでください。

于 2013-02-15T23:30:21.300 に答える