IT이야기

GLIBC란 무엇인가?그것은 무엇에 쓰이는가?

cyworld 2022. 5. 16. 21:05
반응형

GLIBC란 무엇인가?그것은 무엇에 쓰이는가?

나는 C 표준 라이브러리의 소스 코드를 찾고 있었다.내 말은, 예를 들어, cos, abs, printf, scanf, fopen, 그리고 다른 모든 표준 C 함수는 어떻게 쓰여져 있는지, 나는 그들의 소스 코드를 보는 것을 의미한다.

그래서 이것을 찾다가 GLIBC와 우연히 마주쳤는데 실제로 어떤 것인지 모르겠다.GNU C 라이브러리인데, 소스 코드가 몇 개 들어 있지만, 실제로는 표준 기능의 소스 코드인가 아니면 다른 것인가?그리고 그것은 무엇에 쓰이는가?

그것은 C 표준에 기술된 표준 C 라이브러리와 엄격한 표준은 아니지만 자주 사용되는 몇 가지 추가적인 유용한 것들을 구현한다.

주요 내용은 다음과 같다.

1) ANSI,c99,c11 표준에 기술된 C 라이브러리매크로, 기호, 기능 구현 등(프린트f(), malloc() 등)을 포함한다.

2) POSIX 표준 라이브러리.시스템 호출의 "사용자랜드" 접착제.(open(),read() 등)사실 glibc는 시스템 호출을 "실행"하지 않는다.낟알이 그것을 한다.그러나 glibc는 사용자 애플리케이션이 일반적인 함수처럼 시스템 호출을 사용할 수 있도록 커널에서 제공하는 서비스에 대한 사용자 랜드 인터페이스를 제공한다.

3) 비표준적이지만 유용한 물건도 있다.

"힘 사용, 출처 읽기"

$git clone git://sourceware.org/git/glibc.git

(최근 glibc의 malloc.c를 통해 살펴보니 꽤 깨우쳐졌다)

그 표준에는 몇 가지 구현이 있다.Glibc는 대부분의 Linux가 사용하는 구현이지만 다른 것도 있다.Glibc는 또한 (아프닉스 주로서) 커널에 뛰어들기 위해 장면을 설정하는 접착 기능(시스템 호출이라고도 한다)을 포함하고 있다.그래서 많은 glibc의 '기능'들은 실제 일을 하지 않고 오직 커널에만 위임한다.

Glibc의 출처를 읽으려면 구글에서 검색하면 된다.그것을 운반하는 사이트는 무수히 많고, 또한 몇 가지 변형도 있다.

윈도우는 MSVCR이라고 불리는 마이크로소프트의 자체 구현을 사용한다.DLL. 어디서든 그 라이브러리에 대한 소스 코드를 찾을 수 있을 것 같지 않아.또한 리눅스 해커가 '표준'이라고 생각할 수 있는 일부 기능은 Windows(특히 포크)에 존재하지 않는다.그 반대도 사실이다.

다른 시스템들은 그들만의 libc를 가질 것이다.

glibc 패키지는 시스템의 여러 프로그램에서 사용하는 표준 라이브러리를 포함하고 있다.디스크 공간과 메모리를 절약하고 업그레이드가 용이하도록 하기 위해 공통 시스템 코드를 한 곳에서 분리하여 프로그램 간에 공유된다.이 특별한 패키지는 표준 C 라이브러리와 표준 수학 라이브러리 등 가장 중요한 공유 라이브러리 세트를 포함한다.이 두 개의 라이브러리가 없으면 리눅스 시스템은 작동하지 않을 것이다.glibc 패키지에는 국가어(로케일) 지원도 담겨 있다.

응, 그것은 표준 도서관 기능의 구현이야.

구체적으로는 리눅스 커널을 사용하는 거의 모든 *NIX 시스템에서 모든 GNU 시스템을 구현하는 것이다.

다음은 몇 가지 "실행" 관점이다.

참조URL: https://stackoverflow.com/questions/11460782/what-is-glibc-what-is-it-used-for

반응형