>> Edit article
이름
제목
패스워드
먼저 이 함수는 다중 터미널 프로그램이나 서버 프로그램에서 종종 사용하는데요 이곳에 정확히 설명하기에는 너무 힘들것 같군요. 대체적으로 개요만 말하면요. 유닉스 계열에서는 메모리에 올려져 돌아가고 있는 명령어 집단(?)을 프로세스라고 하죠. 그 하나의 프로세스들은 파일 디스크립터를 1024개를 가질 수 있어요. 물론 저 숫자는 고정된 것은 아니구요. 그중 0은 표준 입력, 1은 표준 출력, 2는 표준 에러로 이미 할당이 되어 있지요. 따라서, 자신이 open(), socket()같은 것을 사용하여 새 파일을 열면 3부터 새로 할당이 됩니다. (맞나?) 그 단순한 번호가 파일 디스크립트입니다. 이러한 파일 디스크립트가 여러 개가 열려 있을 때, 어느 디스크립터에 입력(혹은 출력 등)이 있는지를 알아내는 것이 select()함수 입니다. 이는 비트를 다루므로 먼저 전부 0으로 셋팅합니다. : FD_ZERO(&readfds); <= 요부분 다음 관심있는 파일 지시자를 셋팅합니다. : FD_SET(STDIN, &readfds); <= 요부분 즉, 표준 입력을 감시하겠다는 거죠. 그리고 select()를 실행하여 입력의 여부를 검사하는 것이고요. 시간은 2.5초간 그리고 언제나 +1을 해주는 것은 아니고 표준 입력의 경우에 그러합니다.(??) 최대 숫자임 보다 정확히 알려면 잘 아는 사람에게 술한잔 사주고 시간을 두고 자세히 물어봐야 할 것입니다.
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved