glibc、libc+build-essentialって何?


文書ディレクトリ
  • 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
    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
    
  • このパッケージをインストールすると、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をコンパイルし、
  • このセットで新しいシステム全体をコンパイル