Linux에서 STL 프로그래밍 시.
글쓴이: fusilier / 작성시간: 월, 2008/07/14 - 8:06오후
안녕하세요. 수고 많으십니다.
그 동안 윈도우 환경에서만 작업을 하다 새롭게 리눅스 환경에 적응을 하고 있는 리눅스 초보입니다.
다름이아니오라 리눅스 환경에서의 STL 사용에 대해 여쭐 것이 있어 이렇게 적어봅니다.
질문 내용 : 리눅스에서 STL 사용시 iostream을 꼭 include 해야만 사용이 가능한가요?
처음에는 stdio.h를 사용해서 구현한 뒤 차후에 출력하는 부분을 플랫폼 API의 출력문으로 바꾸려고 했는데,
iostream이 include 되어 있지 않으면 컴파일 자체가 되질 않네요;
초보스러운 질문이라 물어보기까지 많이 망설였는데.. 용기내어 한 번 여쭈어 봅니다.
그럼 수고하시고, 좋은 하루 되세요~ :)
Forums:
STL이라면 뭘
STL이라면 뭘 말씀하시는 건가요?
예전에 STL이라고 부르는 것은 지금은 C++ 표준라이브러리의 일부로 통합되어 있습니다.
vector, map 같은 컨테이너 라이브러리를 말씀하시는 것이라면
iostream 인클루드 하지 않고도 당연히 쓸 수 있습니다.
문제는 작성하신 코드에 iostream 을 참조하는 부분이 있으니까 안되는 거겠죠.
그리고 stdio.h 는 C 헤더이고 그에 해당하는 C++ 헤더는 csdtio 입니다.
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
답변 감사합니다.
안녕하세요. 우선 답변 감사드립니다.
iostream을 참조하는 부분이 없는 것 같은데, 컴파일이 안되네요.
#include
int main(void)
{
vector vi;
return 0;
}
이렇게만 작성해도 컴파일이 되지 않아서요.
초보스러운 질문 죄송합니다;
웹 쪽만 하다가 C++ 하려니 죽을 맛이네요..
c++을
c++을 처음하시는거라면
인터넷과 문서로 외에도
c++책을 하나 구입하시는게 좋을듯합니다..
vector 는 컨테이너 입니다... 벡터 에 무엇을 담을지 명시를 해주셔야 하구요..
vector 헤더 파일을 include 해주셔야 합니다.
그리고 네임스페이스에 관한것도 있는데 아무튼 책을 보시는게 좋을듯합니다..
kasi 님 말씀이
kasi 님 말씀이 맞고요, 덧붙이자면 질문하실 때는 소스코드 뿐만 아니라 컴파일러 버전과 에러 메시지도 처음 원 글을 쓸 때부터 적어 올려야 도움이 되는 답변을 받을 수 있습니다.
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
뭔가 bug가 있을지도...
http://kldp.org/node/86703
비슷할지도 모르는 경험을 해 본 적이 있거든요.
제가 보기에는 namespace 문제군요.
using namespace std;
위 코드 처럼 작성해서 해보시던가...
아래 코드 처럼 작성해서 해보세요.
namespace의 사용을 명시해주지 않으면 두번째 코드처럼 네임스페이스를 함께 적어주셔야 하고요..
그리고 컨테이너 클래스는 어떤 타입의 데이터를 담을 것인가를 알려주셔야 사용가능합니다.
C++을 처음 다루시는 것 같은데 책을 한권 구입하셔서 class/template과 같은 개념들을 익히시는 걸 추천해드립니다.
음 "<"와 ">"를 어떻게 표현해야 할지 모르겠네요...
code 환경을 쓰시면 됩니다.
댓글 적는 곳 바로 밑에 "입력 형식" 이라는 곳을 클릭해 보세요. 설명이 있습니다.
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
답글 달아 주신 분들 감사합니다 :)
안녕하세요?
우선 답변 달아 주신 분들 감사합니다.
vector는 include 한 상태였는데, 게시판에서 태그로 인식해서 지워버렸나 보네요;
앞으로는 질문을 올릴 때 좀 더 자세하게 올리도록 하겠습니다.
결론적으로는 잘 해결이 되었구요.
imyejin 님 말씀대로 cstdio.h를 include 하니 잘 작동 하였습니다.
감사합니다. 많은 도움이 되었습니다 :)
cstdio.h 가 아니라
cstdio.h 가 아니라 cstdio 입니다. C++ 표준 헤더는 확장자가 없습니다. iostream 이나 vector 도 마찬가지죠.
[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin
댓글 달기