This is the mail archive of the
mailing list for the Cygwin project.
Re: Memory Leak - DLL problem
- From: Danny Smith <dannysmith at clear dot net dot nz>
- To: tsanyal at yahoo dot com
- Cc: Cygwin <cygwin at cygwin dot com>
- Date: Sun, 15 Sep 2002 06:11:18 +0100
- Subject: Re: Memory Leak - DLL problem
- Reply-to: Danny Smith <dannysmith at users dot sourceforge dot net>
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
Tirth Sanyal wrote:
> 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.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html