Windows DLL 동적 라이브러리를 생성 할 때 일부 함수를 DLL에 전용으로두고 다른 응용 프로그램에서 액세스 할 수 없도록 내보낼 함수를 선언해야합니다.Windows DLL 라이브러리에서 소멸자를 내 보내야합니까?
소멸자를 내보낼 필요가 있는지 또는 컴파일러 또는 Windows 커널에서 자동으로 처리해야하는지에 관해 언급 한 내용을 본적이 없습니까? 내가 소멸자를 내 보내지 않았고 동적으로 선언 할 수있는 클래스를 할당하는 경우, 소멸자가 반출되지 않으면 성공적으로 삭제를 호출 할 수 있습니까?
공장 기능 경로를 사용하면 C++이 아닌 프로그램에서 DLL을 사용할 가능성이 생깁니다. 모든 사람이 좋은 것으로 생각하기를 바랍니다. –
좋아, 일반적으로 소멸자를 내보내는 것은 나쁜 일이 될 수 있습니다. 저는 실제로 팩터 방법을 사용하여 생성을 계획하고 있었기 때문에 앞으로 진행할 수 있습니다. 또한 명확성을 위해 같은 런타임이 할당을 해제하고 할당하는 것이 왜 그렇게 나쁜지에 대해 좀 더 설명 할 수 있습니까? –
@IQ : VC2005 런타임이 VC2008의 런타임에 의해 할당 된 것을 삭제하면 메모리 손상, 충돌 등의 원인이되는 버그를 가끔씩 발견 할 수 있습니다. –