This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Memory Leak - DLL problem


Don Sharp - Re: Memory Leak - DLL problemRe: Memory Leak - DLL problem
From: Don Sharp <dwsharp at iee dot org>
To: gnuwin32 <cygwin at cygwin dot com>
Date: Sat, 14 Sep 2002 21:13:56 +0100
Subject: Re: Memory Leak - DLL problem
References: <20020914194429.961.qmail@web10003.mail.yahoo.com>



Tirth Sanyal wrote:
>
> Hi,
>
> I have been encountering a strange memory leak problem
> in my code which has prompted me to write a small
> program to isolate and demonstrate it. I have pasted
> the code at the bottom of the email.
>
>
> - In a DLL say libfoo, I define and export a class
> Base and also export a function "foo" whose interface
> is the following:
>   Base* foo(void)
>
> - "foo" instantiates an object of the class Base and
> returns a pointer to this object.
>
> - In my application (which has the main routine) I
> load the dynamic library libfoo, call function "foo"
> in it , get the pointer to the newly created object
> and immediately call "delete" on this pointer.
>
> - The destructor function of the class Base contained
> in the libfoo DLL is called.
>
>


There is an article called 'DLL Maintenance Made Easy'  by Geoff
Vandegrift . It used to be at
www.devx.com/free/mgznarch/vcdj but best to do a Google search.

It explains, among other things, how to  "wrap" memory allocations and
de-allocations so that you don't get leakage problem from allocating
memory on one heap and de-allocating in another.

Danny


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]