매번 include하여 사용했는데 왜 쓰는지 몰랐던 헤더가 있다.
바로 fcntl.h와 unistd.h이다.
두 파일 모두 C POSIX 라이브러리 헤더 파일이다. C POSIX 라이브러리는 C 표준 라이브러리 POSIX에 대한 시스템 사양이다.
ANSI C 의 표준으로 동시에 개발되어다.
두 헤더 모두 C POSIX 라이브러리 헤더 파일 중 하나이다.
fcntl.h: 파일을 열고, 잠금 및 다른 작업을 할 수 있음
unistd.h: 다양한 필수 POSIX 함수와 상수
fcntl.h에 대해서 조금 더 살펴보면
파일 및 레코드 잠금을 구현하는 시스템 호출이라고 한다.
읽기 잠금을 통해 여러 프로세스가 공유 가능한 읽기 잠금
쓰기 잠금을 통해 한 프로세스만이 가질 수 있는 쓰기 잠금이 가능하다고 한다.
open시스템 호출과 close 시스템 호출을 쓰기 위해 사용한다고만 알고 있었는데 파일의 레코드 잠금을 구현할 수 있는 다른 기능이 더 있는 것으로 보인다. https://junmung.tistory.com/8 이 블로그가 도움이 될 수 있겠다.
unistd.h의 경우 read와 write를 쓰기 위해 include해주었다고 이해하면 편하다.
https://wonillism.tistory.com/151 이 블로그가 도움이 될 수 있겠다.
반응형
'C & C++ > C' 카테고리의 다른 글
[C] 메모리와 변수의 lifetime으로 인한 예상치 못한 결과 (0) | 2021.10.08 |
---|---|
[Linux] Ubuntu c programming - file open /read /write (0) | 2021.09.30 |
[C] C언어 세그멘테이션 오류 (코어 덤프됨) (0) | 2021.09.29 |
[C] void main(), int main(), main() 차이점 (0) | 2021.07.03 |
[C] 4년이 지나서 다시보는 C언어 - 핵심 정리 (0) | 2021.03.06 |