nolo...@gmail.com
unread,Jan 28, 2013, 6:02:14 PM1/28/13Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to std-dis...@isocpp.org
Hi All,
I'm probably going way back in time here, but I have some questions about NDEBUG. I hope there are some folks who remember when these topics and concepts were being discussed by the committee(s).
What was the motivation for NDEBUG?
How was it envisioned to be used or mapped onto configurations (for example, Debug and Release).
Why was DEBUG never ackowledged?
What was the motivation for assert()?
How was assert() envisioned to be used?
And finally, a deeper philosophical question. I hope it does not stir up too much commotion:
If there are two configurations - Debug (!NDEBUG) and Release (NDEBUG) - is it appropriate for production or release code to *not* define NDEBUG and use assert() to call abort()? Remember, I'm asking in the context of production software running live - like a DNS Bind server or an Apache Web server.
I have my opinions, but I'm going to withhold them so I don't taint folks. Thanks in advance for any insight.
Jeff