라이브러리간 STL 교환

프로그래밍 일반에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

라이브러리간 STL 교환

Post by 비회원 »

그동안 STL 을 잘 안썼었습니다.
필요한 자료구조는 그냥 템플릿만 이용해서 직접 만들어 썼구요...
그런데, 일단 간단하게나마 STL 을 넣어보려고 하는데, 라이브러리간 STL 자료 교환은 어떻게 해야하는지 잘 모르겠습니다.

A 라이브러리
list<Abc> Abclist;

B 응용 프로그램(A를 정적, 혹은 동적으로 링크)
A->GetAbcList();

뭐 이런 형식으로 쓰고 싶지만, 컴파일러마다 구현이 달라서 저런식으로 쓸 수 없는것으로 알고 있습니다.
그렇다고 iterator 까지 wrapping 해가지고,
A->AbcBegin();
A->GetAbcElemengt();
식으로 얻어오는건 좋은 방법이 아닌거 같습니다.

다른 컴파일러일수도 있는 상황에, 이렇게 STL 구조를 넘겨서 사용할 수 있는 방법이 있나요?
답변 부탁드립니다.
비회원

Post by 비회원 »

같은 버전으로 컴파일 한 버전을 쓸수 밖에 없다고 생각됩니다
비회원

Post by 비회원 »

비회원 wrote:같은 버전으로 컴파일 한 버전을 쓸수 밖에 없다고 생각됩니다
그럼 결국 그걸 벗어나려면, STL 을 쓰지 말아야겠군요....;;;
난감;;;;;
khris
Posts: 130
Joined: 2006-04-07 08:12

Post by khris »

boost::serialization 은 어떠신가요?
비회원

Post by 비회원 »

khris wrote:boost::serialization 은 어떠신가요?
boost 를 잘 몰라서 검색해봤습니다. 제가 찾은 자료에 의하면 const 형태로만 사용가능한가보군요..
변경을 해야되서 적합하지 않을 것 같고... 그것 뿐만 아니라, 매번 serialization 하고, 다시 조합하고 하면 성능상 문제가 생길 것 같습니다
역시 다시 만들어 놓은 라이브러리를 써야 하는건지......;;
비회원

Post by 비회원 »

궁금한게 있는데 ,대부분 MS 컴파일러를 쓴다고 보면 MS STL 끼리의 자료구조는 7.1 이후에는
거의 같은거 같은데 ( 내부에 사용된 메크로가 달라서 생길수 있는건 통일 시켜주면 )

큰 문제가 없지 않을까요?
Locked