Home Get Next Line ② 배경 지식
Post
Cancel

Get Next Line ② 배경 지식

과제를 위한 배경 지식

  • static 변수
    • 메모리의 데이터 영역에 저장된다.
    • 프로그램이 종료될 때까지 유지된다.
  • 파일 디스크립터(fd)
    • 특정한 파일에 접근하기 위한 추상적인 키
    • 0,1,2는 표준 POSIX 파일 서술자로 각각 표준입력, 표준출력, 표준에러를 의미한다.
    • 프로세스 실행 도중 파일을 open 하면 커널은 해당 프로세스의 fd 중에 사용하지 않는 가장 작은 값을 할당한다.
  • OPEN_MAX
    • fd의 최대값
    • 하나의 프로세스에서 열 수 있는 최대의 파일 개수를 의미
    • getconf OPEN_MAX : 현재 OS에서의 OPEN_MAX값을 출력
  • read 함수
    • 함수 원형 ssize_t read(int fd, void *buf, size_t nbyte);

    • 동작
      • fd가 가리키는 파일에서 nbyte만큼을 가져와서 buf가 가리키는 주소에 읽는다.
    • 리턴값
      • 성공 → 읽은 바이트 or 0(EOF 읽으면)
      • 실패 → -1
    • 유의사항
      • 문자열의 끝을 알리는 널문자가 별도로 추가되지 않기 때문에 따로 추가해줘야 한다.
  • gcc -D
    • gcc -D name=definition
    • #define을 프로그램 외부에서 정의하고 컴파일 시 반영할 수 있다.
    • gcc -Wall -Wextra -Werror -D BUFFER_SIZE=42 get_next_line.c get_next_line_utils.c

알아두면 좋은 내용

This post is licensed under CC BY 4.0 by the author.

Get Next Line ① Subject

Get Next Line ③ 방향 탐색