DLL를 암시적링크로 쓰면서 C++ 클래스를 익스포트해서 사용하는데
인터넷에 보닝까 STL을 DLL에서 사용하지 말라는 말이 많더라
exe에 있는 메모리는 exe에서, dll에 이는 메모리는 dll에서 생성하고 해주는 문제 때문인거 같은데
주 프로그램에 있는 new, delete를 함수포인터로 전달해서 dll에서 할당, 해제해도 exe에 할당되게 만들었거든
이렇게 하닝까 어디서 할당하고 해제해도 잘 되고, STL사용도 에러안나고 잘 되던데
이 방법에 문제가 좀 있을까?? 사람들이 이제까지 왜 안쓴지 모르겠네
COM보다가 거기서도 좀 돌아가는방법을 쓰길래 궁금해서 글쌈ㅋ
new/delete 문제 외에도 STL 구현체가 다를 경우에 문제가 될 것 같은데
ㄴ동일한 컴파일러로 작성하면 문제가 없지않나? list랑 string만 해봐서 좀 더 해봐야 할것 같기는 하고
컴파일러는 같다고 해도 배포된 DLL을 사용하는 사람이 stlport라던가 dll빌드 시점에서 사용한 stl과 다른 구현을 사용할 수는 있을테니