Re: cocoa app using external c++ code
Re: cocoa app using external c++ code
- Subject: Re: cocoa app using external c++ code
- From: "Alan Smith" <email@hidden>
- Date: Sat, 1 Apr 2006 09:39:46 -0500
I'm not absolutely sure about this, but here's a thought. I believe it has
something to do with pointers, uh duh :). You allocate a pointer and then
try to destroy it. Since it's a pointer you're actually attempting to
destroy the class it points to, or something like that. That is the basic
idea and I'm afraid I didn't do a very good job of explaining it. I would
not dealloc that pointer but just leave it alone and watch the memory usage
of your program, hopefully you don't need to find a way to deallocate it.
Oh, one other thing. From past experience, say you make a NSTask like this,
NSTask *task;
but not like this,
NSTask *task = [[NSTask alloc] init];
in the second line you have a allocated NSTask but not in the first. If you
do it the first way and then try to release it you should get a complaint of
some kind, most likely your program will crash.
I hope that helps, Alan
On 4/1/06, Paul Forgey <email@hidden> wrote:
>
> I have a cocoa app written using objc++ using external c++ code. Any
> external classes allocated via new crash the heap if I delete them.
> If I enable Guard Malloc I get this message:
>
> GuardMalloc[Administration Console-1883]: Tried to free pointer at
> 0xb161d6cc which is not currently a pointer to a malloc buffer.
> GuardMalloc[Administration Console-1883]: Explicitly trapping into
> debugger!!!
>
> Which pretty much agrees with what malloc_printf complains about with
> it turned off. I know for a fact I am not disturbing the state of
> the heap, as I can cause this to happen first thing in main before
> running any actual code:
>
> // main.mm
>
> int main (int argc, char *argv[])
> {
> Otherclass *x = new Otherclass ();
> delete x; // CRASH
> ..
> }
>
> What's going on?? I can't find any compiler options XCode is setting
> that would disturb alignment or anything. In fact my working C++
> command line programs all see the same sizes and layouts the cocoa
> app does.
>
>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Cocoa-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
>
> This email sent to email@hidden
>
>
>
--
// Quotes from yours truly -------------------------
"You don't forget, you just don't remember."
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden