On Thu, Aug 26, 2010 at 9:11 AM, <k...@highrolls.net> wrote: > I want to add Obj-C to classes in a CPP static library that is used by Mac > and Windows apps. I have set the compile type to cpp.objc so that the file > extension can remain .cpp and compile on Windows. I am #ifdef'ing functions > that use Cocoa. > > My question is memory management. Should functions allocate/release auto > release pools?
It depends. Autorelease pools are a per thread thing (a stack of pools could exist per thread). If your methods are being called from the main thread in an NSApplication derived application then you have an autorelease pool at the event loop level being managed for you. If they are being called form secondary threads then you need to ensure an autorelease pool exists and is drained periodically, assuming code running on that thread deals with any objective-c objects. Now you may want to create nested autorelease pools to further limit the accumulation of temporary objects even when the AppKit framwork is managing a top level autorelease pool for you. Review... http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmAutoreleasePools.html -Shawn _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com