glibc、libc+build-essentialって何?
5128 ワード
文書ディレクトリbuild-essentialは何ですか 第2類似 Ubuntu下glibcバージョン を参照この答え glibc是什么 glibcおよびlibc glibcとは何か、そしてgccとの関係か?
build-essentialって何?ubuntuでプログラムをコンパイルし、デフォルトではgccがありますが、g++はありません. 自分でg++をインストールしてもいいですが、依存ライブラリにかかわるので、ちょっと面倒です.
build-essentialというパッケージがあり、開発に必要なパッケージがたくさん入っています sudo apt-get install build-essential, このバッグの中には: dpkg-dev fakeroot g++ g+±4.6 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libdpkg-perl libstdc++6-4.6-dev libtimedate-perl
2番目に似たようなUbuntuはデフォルトでC/C++のコンパイル環境が提供されていないため、手動でインストールする必要があります gccおよびg++を単独でインストールする場合 Ubuntuは、build-essentialパッケージを提供しています. このパッケージの依存関係の表示: y@ubuntu:~$ apt-cache depends build-essential build-essential |Depends: libc6-dev Depends: libc6-dev Depends: gcc Depends: g++ Depends: make make-guile Depends: dpkg-dev12345678910
このパッケージをインストールすると、c/c++をコンパイルするために必要なパッケージもインストールされます. したがってUbuntuでc/c++プログラムをコンパイルするには、このパッケージをインストールするだけで Ubuntuでglibcバージョンを表示 ldd --version, 出力ldd(Ubuntu EGLIBC 2.19-0 ubuntu 6.6)2.19 Copyright© 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper.
getconf GNU_LIBC_VERSION glibc 2.19 上から分かるglibcのバージョンは2.19.である.
lddのバージョン番号を出力することにより、glibcのバージョンを間接的に出力する. 直接的な方法でglibcのバージョン を得る
この答えはlibcは、ヘッダファイルとベースCライブラリlibc.a を含むC開発パッケージの関数ライブラリを指す.最初のlibcはCを発明した人たちが書いた. Cが異なるプラットフォームに移植されるにつれてlibcもマルチバージョンになった 互換性のためか、 多くのヘッダファイルとlibc.aのファイル名は変わっていません.
現在libcはC関数ライブラリを指す. 最も広く使われており、最も機能が強いのはGNU LibC,glibc, 各リリース版Linux用はglibc
libcの動的ライブラリバージョンをlibc.soと呼ぶ 通常/usr/lib/libc.so glibcのlibc.soは.soファイルではなくld Scriptです 大丈夫gnu ldは正しく処理します newlibcのような他のバージョンのlibcは、埋め込みシステム で使用されています.
glibcって何?GNUが発行したlibcライブラリ、すなわちc実行ライブラリ linuxシステムの最下位レベルのapiであり、他の実行ライブラリはglibc に依存している.linuxオペレーティングシステムが提供するシステムサービスをパッケージ化する以外 自身も、他の多くの必要な機能サービスの実装を提供している.
glibcはほとんどのUNIX通行の基準を網羅している 他のUNIXシステムと同様 システムのツリーディレクトリ構造に含まれるアーカイブ群, オペレーティングシステム全体を1つのブラケットのように支えます.
GNU/Linuxシステムで そのC関数ライブラリの発展史点はGNU/Linuxの発展のいくつかの重要なマイルストーンを出して、 glibcをシステムのC関数ライブラリとして、 はGNU/Linux進化のマイルストーン
LGPLライセンスプロトコルに従って発行された、自由で、ソースコードを公開し、ネットワークからダウンロードしやすいCのコンパイラ. GNU Cランタイムライブラリは、C関数ライブラリであり、プログラムの実行時に使用されるいくつかのAPIの集合であり、一般的には事前にコンパイルされており、バイナリコード形式はLinuxクラスシステムに存在し、 GNU Cランタイムライブラリは、通常、GNU Cコンパイラの一部として公開される.
当初フリーソフトウェア財団(FSF)はGNUオペレーティングシステムに書かれていた 現在の最も主要な応用はLinuxカーネルに協力することである. はGNU/Linuxオペレーティングシステムの重要な構成となっている
glibcとlibcはすべてLinuxの下のC関数ライブラリで、 libcはLinuxのANSI Cの関数ライブラリです. glibcはLinux下のGUNCの関数ライブラリです.
glibcとは何ですか.そしてgccとの関係ですか.はgnuが発行したlibcライブラリ、すなわちc実行ライブラリである. はlinuxシステムの最下層api(アプリケーション開発インタフェース)であり、 その他の実行ライブラリはglibc に依存します.
glibcは、linuxオペレーティングシステムが提供するシステムサービスをカプセル化するほか、 自体も多くの他の必要な機能サービスの実装(1)string,文字列処理(2)signal,信号処理(3)dlfcn,管理共有ライブラリの動的ロード(4)direct,ファイルディレクトリ操作(5)elf,共有ライブラリの動的ローダ,すなわちinterpreter(6)iconv,異なる文字セットの符号化変換(7)inetを提供している.socketインタフェースの実装(8)intl,国際化,すなわちgettextの実装(9)io(10)linuxthreads(11)locale,ローカライズ(12)login,仮想端末装置の管理,およびシステムのセキュリティアクセス(13)malloc,動的メモリの割り当てと管理(14)nis(15)stdlib,その他の基本機能
gccはコンパイラで、Linuxの下のすべてのプログラム(カーネルを含む)はgccでコンパイルされ、libcも gccとlibcは互いに依存する2つのソフトウェアである Linuxシステムの「自挙」 と同様に協力しています.
古いlibcとgccを搭載したシステムで、 古いgccで新しいバージョンのgcc+古いlibcをコンパイルし、 この新しいgccで新しいgcc+新しいlibcをコンパイルし、 このセットで新しいシステム全体をコンパイル
build-essentialって何?
2番目に似たような
ztz123@ubuntu:~$ apt-cache depends build-essential
build-essential
|Depends: libc6-dev
Depends: <libc-dev>
libc6-dev
Depends: gcc
Depends: g++
Depends: make
make:i386
Depends: dpkg-dev
Conflicts: build-essential:i386
この答えは
glibcって何?
glibcとlibc
glibcとは何ですか.そしてgccとの関係ですか.