42 SEOUL/1_GNL
[42Seoul/GNL] 사전 지식
에삐니
2022. 5. 22. 14:13
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
반응형