On Sun, Mar 21, 2010 at 11:01 AM, Don Quixote de la Mancha
<[email protected]> wrote:
> You can also do:
>
> #if !defined( NDEBUG )
>    /* Debugging Stuff Goes Here *.
> #endif
>
> I don't have an Xcode install handy to actually check (I'm
> reinstalling my Mac today), but NDEBUG *should* be defined for release
> builds, and not defined for debug builds.
>
> The reason is that the assert macro in <assert.h> disables itself if
> NDEBUG is defined.  I am under the impression that the presence or
> absence of NDEBUG is specified by the ANSI C definition, but I'm not
> completely certain.
>

The presence or absence of NDEBUG is not defined by the C standard
*however* the behaviour of the assert macro, when *you* define NDEBUG,
*is* specified:

"If NDEBUG is defined as a macro name at the point in the source file
where <assert.h> is included, the assert macro is defined simply as
#define assert(ignore) ((void)0)"

-- 
Clark S. Cox III
[email protected]
_______________________________________________

Cocoa-dev mailing list ([email protected])

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 [email protected]

Reply via email to