"man" C 라이브러리 이름 해석

"man" C 라이브러리 이름 해석

일부 C 라이브러리 파일은 #include맨 위에 여러 파일을 표시합니다. 예를 들어 man connect다음을 보여주세요 .

SYNOPSIS
  #include <sys/types.h>
  #include <sys/socket.h>

connect그러나 명령 을 호출하려면 sys/socket.h. 다른 파일이 포함되도록 소스 코드를 정렬하는 이유는 무엇입니까? 포함하지 않으려는 특정 상황이 있습니까 sys/types.h?

답변1

~에서리눅스 매뉴얼 페이지댓글 섹션:

POSIX.1-2001은 inclusion을 요구하지 않으며 <sys/types.h>Linux에서는 이 헤더가 필요하지 않습니다. 그러나 일부 역사적(BSD) 구현에는 이 헤더가 필요하며 이식 가능한 응용 프로그램은 이를 포함하는 것이 현명할 수 있습니다.

그래서 sys/types.hMac 매뉴얼 페이지에도 이것이 포함되어 있는 것 같습니다.

관련 정보