부스트 공유 포인터를 반환하고 매개 변수로 사용하는 DLL을 C++로 개발할 수 있습니까?DLL 인터페이스에서 boost :: shared ptr을 사용해도 되나요?
그럼이 같은 함수를 내보내시겠습니까? 특별한에서
1.) boost::shared_ptr<Connection> startConnection();
2.) void sendToConnection(boost::shared_ptr<Connection> conn, byte* data, int len);
는 : DLL 경계 또는에서 참조 횟수 작업이 요구 사항은 EXE 것이 있는가와 같은 런타임을 사용하여 DLL?
의도는 개체 소유와 관련된 문제를 극복하기위한 것입니다. 그래서 dll과 exe가 더 이상 그것을 참조하지 않을 때 객체는 삭제됩니다.
주의 : 정적 CRT를 연결하는 경우 문제가 발생합니다. CRT에 정적으로 링크 된 각 모듈은 자체 힙을 가져옵니다. 모든 모듈이 DLL CRT에 링크하면 모두 힙을 공유합니다. – Zac