[解決済み] GLIBCとは何ですか?何に使うのですか?
2022-03-11 04:13:40
質問
C言語の標準ライブラリのソースコードを検索していました。どういうことかというと、例えばcos, abs, printf, scanf, fopenなどのCの標準的な関数はどのように書かれているのか、そのソースコードを見たいということです。
で、それを探しているうちにGLIBCに行き着いたのですが、これが実際何なのかがわからないんです。GNU C Libraryのことで、いくつかのソースコードが含まれているのですが、それが実際何なのか、標準関数のソースコードなのか、それとも別の何かなのか。また、それは何に使うのでしょうか?
解決方法は?
その実装は C言語標準ライブラリ C標準に記載されているものに加え、厳密には標準ではないがよく使われる便利なものをいくつか追加しています。
主な内容は以下の通りです。
1) ANSI,c99,c11規格で記述されたCライブラリ。マクロ、シンボル、関数実装など(printf()、malloc()など)が含まれています。
2) POSIX標準ライブラリ。システムコールの糊代となるユーザーランド。(open()、read()など。実は、glibc はシステムコールを実装しているわけではありません。しかし、glibc はカーネルが提供するサービスに対するユーザーランドのインターフェースを提供するので、ユーザーアプリケーションはシステムコールを普通の関数と同じように使用することができます。
3) また、非標準的だが便利なものもある。
forceを使い、ソースを読め。
$git clone git://sourceware.org/git/glibc.git
(最近、glibcのmalloc.cを見て、かなり悟りました)
関連
-
[解決済み] strtokのセグメンテーションフォールト
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] C++でextern "C "を使用した場合の効果は?
-
[解決済み] C言語のコードで「:-!」とは何ですか?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み] (x ^ 0x1) != 0 とはどういう意味ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み】C 言語の添え字で配列の要素値を代入すると、配列でもポインタでもベクトルでもない値になる
-
[解決済み] strtokのセグメンテーションフォールト
-
[解決済み】警告:互換性のないポインタ型からの代入
-
[解決済み】C言語で浮動小数点例外(コアダンプ)発生
-
[解決済み】 「配列のイニシャライザーはイニシャライザーリストまたは文字列リテラルでなければなりません」と表示されるのですが?
-
[解決済み】サイズ8の無効な読み取り - Valgrind + C
-
[解決済み】C言語でint64_t型を表示する方法
-
[解決済み】スタックスマッシュを検出しました
-
[解決済み] POSIX」の意味を教えてください。