0

これは 1 年以上も私を悩ませてきた質問ですが、あえて答えようとはしませんでした... 今日まで...

SFML「ライブラリ」が「/usr/local/include/SFML/」の下にインストールされていることに気付きました。

そのディレクトリの中を見ると、主にヘッダー ファイルが含まれていることがわかります。したがって、「インクルード」ディレクトリには、オブジェクト ファイルではなくヘッダー ファイルが含まれているはずです。

これは疑問を提起します。「cmath」または「vector」はどこにありますか?

find を使用すると、それらは「/usr/include/c++/4.7/cmath」に配置されることがわかります-基本的に「/usr/include/」

ローカル インクルード ('/usr/local/include') とインクルード ディレクトリ ('/usr/include') の違いは何ですか?

また、ファイルシステムの中には、多くの「lib」、「lib32」、および「lib64」ディレクターが見られます。私の推測では、コンパイルされた .cpp ファイルまたはオブジェクト ファイルはこれらのディレクトリにあると思います。lib は、64 ビット アーキテクチャがゲームに登場する前に使用されていた古いディレクトリだったと思います。現代的に受け入れられているのは、32 ビット オブジェクト ファイルを lib32 に、64 ビット バージョンを lib64 に置くことだと思います。あれは正しいですか?

「/usr/local/lib」ディレクトリがあります。

ただし、「/usr/lib」ディレクトリもあります。繰り返しますが、なぜ追加の「ローカル」のものがあるのでしょうか?

また、「/usr/」の中に「lib」「lib32」「lib64」があります。ただし、「/usr/」内には「lib」ディレクトリが 1 つしかありません。どうしてこれなの?

4

2 に答える 2

6

この質問に対する具体的な答えがあるかどうかはわかりませんが、少なくともいくつかのガイダンスを提供しようとします.

通常/usr/local、「カスタム インストール」に使用されます。つまり、基本的なインストールの一部ではありません。もちろん、これはガイドラインであるため、/usr/lib実際には/usr/local/lib(または必要/usr/local/lib{32,64}に応じて) にインストールする必要がある場合でも、 にインストールされているものを見つけることができます。

はい、サイズlib32lib64依存するライブラリ用です (ただし、lib64 に 32 ビットのライブラリをインストールし、lib32 に 64 ビットのライブラリをインストールすると、プログラムは完全に正常に動作します。そうすると、何が起こっているのかを追跡するのが難しくなります。 !)。

場合によってはlibandlib64またはlibandlib32です。これはディストリビューションによって異なります。と がある場合、はlib32、に格納されている構成ファイルなど、「サイズに依存しない」ものを保持するためによくあります。lib64lib/usr/lib

知っておくと便利なその他のディレクトリが確かに存在します - あなたのホームディレクトリ、/var/log/ログファイル、/var/runロックファイルと.pidファイル、および特定のアプリケーションのその他の「ステータス」ファイル、および/var/libディレクトリもあります - いくつかのランダムな選択が含まれているようですコンポーネント固有のライブラリの。THe /opt(これは の別の変種の一種です/usr/local/) は、バイナリなどの保存に使用されることがあります。

編集:

知っておくと便利なディレクトリの別のカテゴリは、、/procおよび/sysディレクトリ/devです。

/procこれは、カーネルのファイルシステム ドライバーによってサポートされておりprocfs、システムが何をしているかについての情報を提供します。たとえばcat /proc/meminfo、メモリ (およびその使用状況) の統計を表示したりcat /proc/cpuinfo、マシンに搭載されている CPU を表示したりします。cat /proc/self/status現在のプロセスのステータスが表示されます。他のプロセスが何をしているかを確認したい場合cat /proc/xx/statusxx、プロセス ID (数値) を指定すると、他のプロセスが何をしているかがわかります。中を見ると、さらに多くのものが利用可能です - いくつかは他のものよりも便利です。

/sysと似た構造です/procが、より「システム」指向のものが/procあり、 はプロセスに関するものですが、いくつかの重複があります。

/dev/デバイスの「ルート」です。/dev/sdaハードディスクの 1 つになります (ただし、使用しているハードディスクによっては、別の名前を持つこともできます)。

于 2013-06-24T12:51:11.883 に答える
1

これを読む必要があります(短いバージョンの場合):

http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

そしてこれ(すべての退屈な詳細について):

http://www.pathname.com/fhs/pub/fhs-2.3.html

于 2013-06-24T14:02:44.520 に答える