C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74596] Re:[질문] RAD Studio 통합개발환경에서 xxx.cpp/h 파일이 별도의 탭으로 열리는 문제..
빌더(TWx) [builder] 3577 읽음    2017-09-26 20:53
단단한돌 님이 쓰신 글 :
: 환경: C++ Builder XE5
:
: 보통은 LogThread.cpp / LogThread.h 파일이 Project Manager에서 트리 형태로 연결되어 표시가 되는데요..
: 이 프로젝트는 이상하게 그냥 같은 레벨에 그냥 보입니다.
:
: LogThread.cpp 파일을 클릭해서 열면 보통은 아래 탭에 LogThread.h 파일도 같이 열려서(연관된 파일)
: cpp 파일과 header 파일을 보면서 작업하는데..
:
: 이 프로젝트는 어찌된 일인 지 LogThread.cpp 을 열면 LogThread.cpp만 열립니다.
: LogThread.h 파일을 열려면 따로 또 클릭해서 열어야 하구요. 다른 탭으로 열립니다.
:
: Prooject 파일의 xml 파일을 강제로 수정하면,
: Dependency 관계가 형성되서 트리 형태로 보이기는 하는데..
: 파일을 여는 것은 마찬가지이고 cpp 파일만 열리고, Header 파일을 아예 열리지도 않네요.
:
:
...
: 
:     LogThread.h
:     17
: 
: ...

:
: 이렇게 강제로 수정해도 마찬가지인데요..
:
: Header 파일의 내용은..
:
:
#include 
: ...
: #ifndef __LogThreadH__
: #define __LogThreadH__
: ..
: class TLogThread : public TThread
: {
: ...
: };
: #endif

:
: CPP 파일 내용은 앞부분입니다.
:
:
: #pragma hdrstop
: #include "LogThread.h"
: ...
: #pragma package(smart_init)
: 
: #ifndef __LogThread__
: #define __LogThread__
: 
: TLogThread *LogThread;
: 
: __fastcall TLogThread::TLogThread() : TThread(false)
: {
: // do something .. 
: }
: #endif

:
: 어떻게 해야 여타의 파일처럼 cpp/header 파일을 나란히 볼 수가 있을까요?
:



답변:



엠바 애들이 IDE를 참 멍청하게 만들어 놨어요.

소스파일이 Unit4.cpp 이라고 하면...

헤더파일은

#ifndef Unit4H
#define Unit4H
....
#endif

와 같은 형태가 되어야 합니다.

단순하게 헤더파일이 저런 형태로 되어있는지만 파싱해서 처리하고 있는데
프로젝트가 커지게 되면 소스파일과 헤더파일 들을 별개의 서브 디렉토리로 나눠서 사용하는 게 일반적인 사용구성인데

그런 구성으로 디렉토리를 나누어 놓으면 엠바 애들이 IDE에 구현해 놓은 방식은, 이런 경우 의도한 대로 동작하지 않습니다.


차라리...

소스파일에서

#include "include/unit4.h"

#include 구문을 파싱해서 처리하도록 IDE를 구현해 놨다면 그런 부분 까지 커버가 됐을 텐데 말이죠.


프로젝트 제멀 파일에서

<DependentOn>include/Unit4.h</DependentOn>

위와 같이 헤더파일 디펜던시를 지정할 때, 서브디렉토리를 명시하더라도...
지금처럼 단순하게 헤더파일의 형태만 파싱해서 처리하는 방식은 무용지물이 됍니다.


소스파일에서 #include 구문을 파싱해서 처리하도록 IDE를 구현해 놓았으면...
서브 디렉토리 까지 커버할 수 있었을 텐데 말이죠.



+ -

관련 글 리스트
74594 [질문] RAD Studio 통합개발환경에서 xxx.cpp/h 파일이 별도의 탭으로 열리는 문제.. 단단한돌 3414 2017/09/26
74596     Re:[질문] RAD Studio 통합개발환경에서 xxx.cpp/h 파일이 별도의 탭으로 열리는 문제.. 빌더(TWx) 3577 2017/09/26
74598         감사합니다~!! 단단한돌 3415 2017/09/27
74595     Re:[질문] RAD Studio 통합개발환경에서 xxx.cpp/h 파일이 별도의 탭으로 열리는 문제.. 정성훈.해미 3420 2017/09/26
74597         감사합니다~!! 단단한돌 3404 2017/09/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.