STL을 DLL로 사용할때
stl을 사용할때 static Library에서는 아무런 문제가 없지만 dll을 만들어서 사용 할때는 warning C4251: 이 뜨게 된다. 이 문제는 비주얼 C++에서 DLL인터페이스를 지원하는 능력의 한계 때문에 발생한다. 템플릿을 DLL인터페이스로 지정할 때는 export 할 템플릿과 관계된 모든 템플릿 export 지정 역시 필요하기 때문이다. DLL에서 외부 컨테이너를 export할수 없다. 그렇다 하더라도 DLL 내부에서만 운용되는 용도로 얼마든지 사용할수 있기 때문에 DLL에서 STL이 전혀 쓸모 없는 것은 아니다. 내부에서만 사용되더라도 wrapper 함수를 제공하는 방법등 다른 방식으로 유용하게 사용될 수 있다. |
'Programming > MFC' 카테고리의 다른 글
윈도우의 상태를 바꿔주는 GetWindowLong , SetWindo.. (0) | 2007.03.16 |
---|---|
특정 컨트롤에 숫자키만 입력 받도록 한다. (0) | 2007.03.11 |
DLL 인터페이스 사용하도록 지정해야 합니다 (0) | 2007.03.09 |
컨트롤 클래스 (0) | 2007.03.09 |
메뉴의 단축기 만들기 (0) | 2007.02.01 |