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
[27592] 잘못 알고 계시는 것 같습니다만..
cele [] 956 읽음    2003-10-20 21:54
질문을 올린주제에 새로운 문제거리를 만들고 싶진 않습니다만 확실히 하기 위해..

표준으로 제정된 #include 전처리 지시자의 식별자 형식이 헤더 확장자까지 지시하고 있는 것은 아니라고 생각합니다.
단적인 예로 stdio 라는 확장자 없는 헤더파일은 없지만 #include <stdio> 로 포함시키면 stdio.h 파일이 지정되어 삽입되게 됩니다. .hpp 파일을 볼때에 이것이 단지 호환을 위한 배려인지 전처리기 스펙에서 권유하는 것인지 모르겠지만 적어도 .h 파일과 확장자 없는 파일과의 구분이 없는 것은 확실합니다.
더군다나 bcc32.cfg 파일을 보면 아시겠지만 ${BCB}\include\Stlport 은 검색경로에 포함되어 있지도 않습니다. 게다가 빌더IDE 상에서 <iostream> 위치에서 Ctrl + Enter 로 직접 지정된 파일로 이동해봐도
#include <iostream>
이 문장이 /include/iostream.h 를 가리키고 있는 것이지 include/Stlport/iostream 을 지정하고 있는 것이 아님은 자명합니다. 먼저번 댓글에도 설명드렸듯이 iostream.h 내의 #ifdef 지시자로 옛버젼인 Rogue Wave 사의 stl 과 신버젼인 stlport 의 것을 구분하여 /oldstl 또는 /stlport 의 것을 지정하여 주고 있는 것입니다. 이것은 iostream 뿐만 아니라 /include 내의 모든 stl 헤더파일이 마찬가지입니다.
그럼에도 불구하고 위의 문장이 include/Strlport/iostream 을 직접 가리키고 있다고 말씀하시는 근거가 궁금합니다.
물론 그렇게 된다면 제가 제기한 질문에 대한 명료한 해답이 되겠지만 별다른 설명을 주시지 않았기 때문에 근거가 빈약하다고 생각합니다.
그럼 답변을 기다리며..
감사합니다.

+ -

관련 글 리스트
27581 iostream 헤더에.. cele 929 2003/10/20
27593     Re:iostream 헤더에.. 임문환.실업자 978 2003/10/20
27596         명쾌한 답변 정말 감사드립니다. cele 777 2003/10/21
27582     Re:iostream 헤더에.. 김백일.cedar 934 2003/10/20
27586         제 질문은 그게 아니었습니다. cele 743 2003/10/20
27588             뭔가 착각하신듯... 김백일.cedar 780 2003/10/20
27592                 잘못 알고 계시는 것 같습니다만.. cele 956 2003/10/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.