Is there any pre-defined flag by standard specification (ANSI/C89/C99) for debug-mode-compilation in C compiler?
I know DEBUG
and NDEBUG
flags, but I am not sure about whether they're in the C standard or not.
That really depends on what you call - "debug mode compilation". It can mean lots of different things to different people:
assert
functionThe NDEBUG
controls the bullet #3 only. Of course it is often combined with others, because it makes sense to use them together. But nothing forces you to use all of them - you may define various combinations of these things, e.g. optimized build with assert checks, etc.