|
황진이 님이 쓰신 글 :
: 안녕하세요
:
: 전 빌더 초보구 c++도 초보라고 볼수 있죠
:
: 지금 dll 공부 중인데요 간단한 데이터는(int char int* char*)의 전달과 받음은이해가 가능한데요
:
: 질문은요 dll과 일반 애플리케이션과의 차이점을 좀 간단 명료하게 설명 해주심 해서요
:
: 가령 헤더 파일을 이용해서 클래스가 전달 되고 혹은 반대로 클래스를 dll로 부터 받을수 있는가
:
: 하는 문제랍니다
:
: 객체가 일반 애플리케이션에서는 전달 가능한데 dll을 이용할때 사용가능하는가 하는점과
:
: 좀 상세한 답변 부탁 드려요 그리고 dll의 제한점이 있을텐데 그 한계는 어디 까지인감요
:
: 고수님 화이칭하시구요, 부탁 드려요 dll관한 설명은 잘 나와 있지 않군요 ....흑흑 부탁해용2
:
:
: ps:장구치구 북치네용 ^^ , 님들 지송 해결 했어요 하다 보니깐 되네요
: 에구 시간이 아까버라, 해결하고 나서 보면 아무것도 아닌데 그게 어렵군요 에구에구 갑니다 ...$
임펠리테리입니다.
dll을 통해 객체 자체를 전달할 수는 없습니다. 객체라는 것은 실제로는 메모리 주소가 되는데, dll 모듈 자체는 여러 어플리케이션 사이에서 공유가 가능하지만 각각의 어플리케이션의 메모리에 매핑되어 있을 뿐이므로 한 어플리케이션에서의 객체의 주소는 다른 어플리케이션에게는 전혀 엉뚱한 주소가 됩니다.
만약, "객체"가 아니라 데이터뿐인 특정 메모리 공간을 공유하고 싶다면 메모리맵드 파일(memory mapped file)을 사용할 수 있습니다. 이 개념에 대해서는 따로 공부하셔야 하겠구요.
그럼 참고하시길...
|