[Linux] C 라이브러리 정리

mommers·2026년 2월 2일

Linux

목록 보기
28/59


C 라이브러리(C Libraries)

리눅스 어플리케이션이 커널과 대화하기 위한 표준 통역사 (glibc)


1. 정의 및 역할

  • 정체: 리눅스 시스템의 표준 C 라이브러리 (GNU libc = glibc).
  • 위치: 어플리케이션(User)과 커널(Kernel) 사이의 중간 계층.
  • 목표: 커널의 복잡한 내부 동작을 고수준 API로 추상화하여 개발 편의성 제공.

2. glibc의 3대 핵심 기능

① System Call Wrapper (래퍼)

  • 기능: 복잡한 어셈블리 명령(int 0x80, syscall)이나 레지스터 설정을 대신 처리.
  • 효과: 개발자는 하드웨어 아키텍처를 몰라도 open(), write() 같은 표준 함수만 호출하면 됨.

② 표준 C 라이브러리 구현 (ISO C)

  • 기능: 문자열 처리(strcpy), 입출력(printf), 메모리 할당(malloc) 등.
  • 효과: C언어 표준 규격을 준수하여 코드의 이식성 보장.

③ 인프라 지원 (Infrastructure)

  • 스레딩: POSIX 스레드(pthread) 지원.
  • 런타임: 프로그램 시작(_start)과 종료, 동적 링킹 등 기본 실행 환경 제공.
  • 전형적인 시스템 프로그래밍 모델
profile
임베디드 개발자가 되기 위해 공부중입니다!

0개의 댓글