C++의 다른 폴더에 있는 include문 질문입니다.
글쓴이: 나그네나그네 / 작성시간: 화, 2013/11/12 - 2:28오후
다른 폴더에 있는 header파일을 include할 때 ,그 header 파일 안에 있는 다른 include 문들의 파일 이름은 자동으로 수정이 되는지요?
예를 들어서,
folder/A.h
folder/B.h
C.cpp
라는 파일이 있고 그 안에
--- A.h ---
#include"B.h"
#include
...
------
와 같이 되어 있을 경우, C.cpp에서
#include"folder/A.h"
...
와 같이 include한다면 preprocessing을 하면서 저절로
#include"folder/B.h"
#include
...
로 바뀌나요?
Forums:
빈 #include
본문에서 비어있느 #include문은
#include<stdio.h>
입니다.
결론적으로 바뀌지 않습니다. #include <>
결론적으로 바뀌지 않습니다.
#include <> 또는 #include ""는 그냥 그대로 지정된 파일 내용을 소스 코드내에 집어 넣는 거죠.
만약 지정된 파일이 .h 인지 .c 인지에 상관없이 컴파일 환경에서 설정된 검색 디렉토리에 없다면 preprocesing 단계에서 컴파일이 실패하게 됩니다.
검색 디렉토리는 <> 의 경우 컴파일 시스템의 include\ 등을 먼저 찾은 후 없으면 현재 디렉토리를 찾고, ""경우 현재 디렉토리를 먼저 찾고 없으면 컴파일 시스템의 include\ 등을 나중에 뒤집니다.
make를 쓴다면 -I 등으로 검색할 디렉토리 리스트에 추가할 수 있고, GUI 개발환경이라면 option 등에서 디렉토리를 추가/삭제할 수 있죠.
댓글 달기