|
안녕하세요.
다들 새해 복 많이 받으세요.
그동안 C++ Builder를 꾸준히 사용해온 사람입니다.
C++ Builder에서 DLL에 있는 함수를 사용하기위해 LoadLibrary( ) 함수와 FreeLibrary( )함수를
이용하여 동적으로 부르고 있습니다. 그런데 이상하게 동적으로 불러들인 DLL을 FreeLibrary( )를
이용하여 메모리에서 해제를 하더라도 메모리가 해제가 되지 않는것 같더군요.
즉,
HINSTANCE = hInst;
for( i=0;i<100000;i++){
hInst = LoadLibrary("test.dll");
FreeLibrary(hInst);
}
위와 같은 프로그램을 짜보면 DLL에서 하는것은 아무것도 없지만, 루프를 반복해서 도는 횟수가
증가할 수록 프로그램에서 사용하는 메모리가 계속 증가 합니다.
VC++ 로 프로그램을 짜면 그러한 현상이 없습니다.
참 특이한 현상인것 같네요..
혹시나 원인이 무엇인지, 그 해결책은 없는건지 ...
아시는 분은 답변을 부탁 드립니다.
^^
|