Unborn 8.0 Yellow Pointer
본문 바로가기
42 SEOUL/1_GNL

[42Seoul/GNL] 사전 지식

by 에삐니 2022. 5. 22.
728x90

1. File Descriptor?

운영체제가 파일 또는 하드웨어와의 통신을 하기 위해 부여하는 숫자로 일반적으로 음수가 아닌 정수 값을 가지고 있으며, 반환된 값을 이용하여 이후에도 그 파일을 접근이 가능합니다.

파일 디스크립터는 기본적으로 아래와 같은 값을 사용하고 있어 숫자 3부터 오름차순으로 디스크립터를 부여합니다.

  • 0 : 표준 입력 (STDIN_FILENO;stdin)
  • 1 : 표준 출력 (STDOUT_FILENO;stdout)
  • 2 : 표준 오류 (STDERR_FILENO;stderr)

 

2. open()?

#include <fcntl.h>

int    open(const char *path, int oflag);
  • path : 파일 경로 이름
  • oflag : 파일을 열 때 사용할 옵션
    • O_RDONLY : 읽기 전용 -> GNL에서는 원본 파일이 훼손되면 안 되므로 해당 옵션을 사용합니다.
    • O_WRONLY : 쓰기 전용
    • O_RDWR : 읽기, 쓰기 모드
  • fd값을 반환하며 실패 시 -1을 반환합니다.

 

3. read()?

#include <unstd.h>

ssize_t    read(int fd, void *buf, size_t nbyte);
  • fd : 읽고자 하는 파일의 fd(open 함수의 반환 값을 사용)
  • buf : 읽은 값을 buf에 저장합니다.
  • nbyte : byres의 크기만큼 파일 디스크립터를 읽습니다.
  • 바이트 수를 반환하고 파일을 끝까지 읽어 읽을 바이트가 없을 경우 0을, 실패 시 -1을 반환합니다.

 

4. static variable?

  • 변수를 선언할 때 static 키워드를 붙여 선언합니다.
  • 초기화를 하지 않아도 자동으로 0으로 초기화가 됩니다.
  • 메모리의 데이터 영역에 저장되어서 프로그램이 종료될 때까지 유지되는 변수입니다. 
  • 전역으로 선언한 static 변수는 소스파일 내의 모든 함수에서 사용이 가능합니다.

 

5. gcc -D?

$ gcc -Wall -Wextra -Werror -D [매크로]=[매크로 값] <파일명.c>
  • -Wall : 모든 모호한 코딩에 대해서 경고를 보내는 옵션
  • -Wextra(-W) : -Wall에서 활성화되지 않은 몇 가지 추가 경고 플래그가 활성화됩니다.
  • -Werror : 모든 경고를 컴파일을 중단하는 오류로 취급합니다.
  • -D [매크로] : 매크로를 외부에서 define 할 때 사용합니다.
  • -D [매크로]=[매크로 값] : 소스 내에 #define [매크로] [매크로 값] 옵션을 추가한 것과 동일합니다. 
728x90
반응형

'42 SEOUL > 1_GNL' 카테고리의 다른 글

[42seoul/GNL] get_next_line 프로젝트 소개  (1) 2022.05.20

댓글