2017-11-15 6 views
-1

<sys/ioctl.h>과 같은 일부 C/C++ 헤더의 앞에 "sys /"접두어가 있습니다.일부 C/C++ 헤더의 앞에 "sys /"헤더가있는 이유는 무엇입니까?

(또한 "NET /"접두사 일부.가 있습니다)

는 이유는 무엇입니까?

+8

그들은 포함 파일이있는 위치의 하위 디렉토리 'sys'에 있기 때문에. – AntonH

+0

이러한 헤더는 C (++) 표준에 의해 정의되지 않습니다. 이는 OS에 따라 다릅니다. –

+0

test라는 폴더 안에'source.c' 파일을 쓴다고합시다. 헤더를 사용하기 위해서'#include ' – EsmaeelE

답변

3

실제적으로 이것은 시스템 디렉토리의 표준 목록 중 하나 (예 : 컴파일러 기본 검색 경로 또는 빌드 중에 매개 변수로 제공되는 폴더)에서 "sys"라는 하위 폴더 아래에있는 파일을 보여줍니다.

가 하위 폴더에있는 이유는 그들은 일반적으로 작업중인 운영 체제에서 제공하는 C 또는 C++ 표준 라이브러리의 일부가 아니라 특정 확장하지 표시하는 것입니다.

이것은 규칙의 문제 일 뿐이며 C 또는 C++의 지정된 동작의 일부가 아닙니다. 이러한 종류의 머리글을 실제로 이해하려면 일반적으로 사용중인 운영 체제에서 제공하는 추가 설명서를 살펴보십시오.

+0

글쎄, * sys/*, * net/* 등의 주소를 써야한다. 그 밑에있는 헤더는 POSIX 표준에 의해 정의됩니다 (저는 믿지 않습니다). C 표준 헤더가 컨벤션이 아닌 단순한 컨벤션이 아닙니다. – hyde