Am 18.05.2006 um 07:18 schrieb Richard Frith-Macdonald:


On 18 May 2006, at 05:31, Michael Gardner wrote:

I'm allocating objects with class_createInstance(), storing them on a stack (well, just a plain NSArray), and popping them off at a later time. When I pop an object from the stack, it gets released (as I expect), but I get a segfault from -[NSObject dealloc] that I can't track down.

I'm pretty sure I'm not double-releasing the object since I've sprinkled printf statements in my dealloc methods, and I've tried looking through NSObject.m to find the culprit, but can't see where the segfault is coming from (the inline functions hinder debugging somewhat). What kind of things can cause segfaults in - [NSObject dealloc]? Could this be a GNUstep bug?

You can't use class_createInstance() to create instances of GNUstep classes (unless you build NSObject.m in the base library specially to permit it). The way to allocate OpenStep/GNUstep objects is using the NSAllocateObject() function.

Can I add "+[myClass alloc] would be even better"?

I'm really wondering what's the big difference between GNUsteppers and Cocoa developers. According to the mailing lists, GNUsteppers are regularly using low level functions (objc_...()), +load and thisalike. On Cocoa lists, I've yet to read a single line about this stuff; they obviously use NSObject and above and are happy with this.

Is GNUstep missing some important piece of the Obj-C cake or are GNUsteppers simply more comfortable with the C language?


Markus

- - - - - - - - - - - - - - - - - - -
Dipl. Ing. Markus Hitter
http://www.jump-ing.de/






_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to