일반적으로 <>
형식으로 포함된 헤더 파일들은 하나 이상의 표준으로 지정된 디렉토리에서 찾게 됩니다. (게다가, <>
로 포함한 헤더들은 꼭 파일 형식으로 저장되어 있을 필요도 없습니다.) ""
형식으로 포함된 헤더 파일은 우선 ``현재 디렉토리''에서 찾은 다음, 없을 경우, 표준으로 지정된 디렉토리에서 찾게 됩니다.
전형적으로 (특히 UNIX 컴파일러), 현재 디렉토리란 #include
를 쓴 파일이 있는 디렉토리를 말합니다. 다른 컴파일러에서는 현재 디렉토리가 컴파일러가 실행된 그 디렉토리를 의미하기도 합니다. (물론, ``현재 디렉토리''라는 개념이 없는 시스템이나, 디렉토리 자체가 없는 시스템에서는 다른 규칙이 있을 것입니다)
일반적으로, 시스템 헤더 파일이 위치할 디렉토리 목록에 사용자가 원하는 디렉토리를 추가할 수 있는 방법이 (보통 컴파일러를 실행할 때 command-line option `I'를 쓰거나, 환경 변수를 지정하는 방법으로) 제공됩니다. 좀 더 자세한 것은 컴파일러의 매뉴얼을 참고하기 바랍니다.
[ANSI] § 3.8.2
[C89] § 6.8.2
[H&S] § 3.4 p. 55
#include <>
와 #include ""
에 차이가 있나요?<>
형식은 헤더 파일이 시스템에서 제공한 것이거나 표준 헤더 파일일 경우에 사용하며, ""
는 프로그래머가 제작한 헤더 파일에 사용합니다.'dev, tech' 카테고리의 다른 글
volatile 키워드 (0) | 2010.10.01 |
---|---|
컴파일러 구조 (0) | 2010.02.02 |
예약어 FAR (0) | 2009.12.18 |
자료형 최대값, 최소값 (0) | 2009.12.17 |
static을 이해하자 (0) | 2009.12.15 |
댓글