본문 바로가기

표준 입출력

(2)
런타임 라이브러리와 표준 입출력 런타임 라이브러리와 표준 입출력 C프로그램을 실행 하려면 우리가 작성한 코드를 컴파일한 다음, 컴파일된 코드와 이 코드가 사용하는 stdio 라이브러리 등의 다른 코드를 링크 해야 한다. C에서 런타임 라이브러리는 crt0 등의 이름으로 불린다. 런타임 라이브러리는 스택과 힙을 설정해서 사용 할 수 있도록 준비하는 등의 설정을 담당한다. 런타임 라이브러리는 추가로 터미널 장치 드라이버와 연관된 파일을 하나는 입력을 위해, 하나는 출력을 위해 연다. stdio 라이브러리는 ( 런타임 라이브러리가 연 ) 시스템 파일 디스크립터를 파일 포인터와 연관 시킨다. 파일 포인터는 버퍼링이나 파일 관리에 필요한 데이터 구조를 가르킨다. stdio 는 기본적으로 세 가지 파일 포인터를 제공한다. stdio - 표준 입력..
표준 I/O 표준 I/O 장치 드라이버 내의 버퍼링은 문제 중 일부만 해결해준다. 사용자 프로그램에도 비슷한 문제가 있다. 장치 드라이버가 입력을 버퍼링해도 사용자 프로그램이 사용자가 문자를 입력할 때마다 시스템 콜을 호출하면 장치 드라이버 쪽 입력 버퍼가 아무 쓸모가 없다. 마찬가지로 사용자 프로그램이 문자를 기록하기 위해 매번 시스템 콜을 호출하면 장치 드라이버에 출력 버퍼가 아무 역힐도 못한다. 이런 상황이 자주 있기 때문에 표준 입출력 라이브러리 ( stdio ) 가 만들어졌다. 표준 입출력 라이브러리에는 사용자 프로그램이 쓸 수 있는 버퍼 I/O 함수가 들어 있다. stdio 라이브러리는 버퍼 입력을 지원한다. 버퍼 입력을 사용하면 시스템 콜을 한번만 사용해 장치 드라이버에서 읽은 데이터를 버퍼에 넣을 수 ..