프로그래밍

 3198, 1/160 회원가입  로그인  
   영원한공부
   [C언어] 헤더파일, #ifndef, #define 질문이요.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3049 [복사]


제가 열혈강의 C 마지막에 있는 전화번호 관리 프로그램을 만들고 파일입출력까지 적용해서 다 풀었는데

소스파일, 헤더파일이 어지럽게 있어서 정리하려고  Source , Header 폴더를 만들어서 각각 집어넣고 링크를

했더니

#ifndef 가 제대로 적용 안 돼서 에러가 뜨네요.


#ifndef __BasicDef_h__ 이렇게 썼더니 에러가 생겨서 생각해보니

소스파일에서는  #include "..\Header\BasicDef.h" 이렇게 선언 했던게 생각나서

#ifdef __..\Header\BasicDef_h__ 이렇게 써봤는데도 에러나고

#ifdef ____\Header\BasicDef_h__ 이렇게 써도 에러가 생기네요.


헤더파일은 무조건 소스파일이랑 붙여놔야 되는건가요? #ifndef 에 경로설정을 할 수가 없어서 떼어놓을 수가

없네요.

  Hit : 7849     Date : 2011/06/11 12:38



    
prosthetics 질문하신 내용만 가지고는 코드가 어떻게 됬는지 알 수 없어서
ifdef, ifndef 부분에 대해서는 답변을 드릴 수 없습니다.

다만 헤더파일은 소스파일과 붙여놔야만 하는것은 아닙니다.

visual studio 6.0기준 'tools - options - directories'에 가시면 include파일이 어디에 있는지 알 수 있습니다.
(include파일 = 헤더파일)

또한 빈공간을 더블클릭하시면 헤더파일 있는곳을 지정할 수 있습니다.
더블클릭하셔서 Header폴더를 지정하시면 되겠습니다.
2011/06/11  
영원한공부 답변 주셔서 고맙습니다. 확인해보니 헤더파일에 함수정의를 해놔서 함수중복 오류가 뜬 거였네요.

당연히 될 줄 알고 썼었는데 생각해보니 안 되는 거였네요.
2011/06/11