# Assertions '''Include File(s):''' [http://hg.libsdl.org/SDL/file/default/include/SDL_assert.h SDL_assert.h] ## Introduction This category contains functions for managing assertions. A fairly detailed discussion of the features of SDL_assert vs the standard assert() macro, and some technical explanation about how this is implemented can be found [http://web.archive.org/web/20190322035412/https://plus.google.com/103391075724026391227/posts/KzV6sLdALX7 in this Google+ post from Ryan]. SDL_ASSERT_LEVEL affects which assertions, if any, are processed during compiling based on which function was used to create the assertion (see functions below). SDL_ASSERT_LEVEL can be defined in your project. If not otherwise set, SDL_ASSERT_LEVEL will default to level 2 for debug builds or level 1 for release builds. The following table describes each SDL_ASSERT_LEVEL setting and the corresponding impact on the three SDL_assert functions:
'''SDL_ASSERT_LEVEL''' | '''Description''' | '''Function''' | '''Function Status''' |
<:>'''0''' | all assertions disabled | SDL_assert SDL_assert_release SDL_assert_paranoid |
disabled disabled disabled |
<:>'''1''' | for release (default) | SDL_assert SDL_assert_release SDL_assert_paranoid |
disabled '''enabled''' disabled |
<:>'''2''' | for debugging (default) | SDL_assert SDL_assert_release SDL_assert_paranoid |
'''enabled''' '''enabled''' disabled |
<:>'''3''' | stringent for detailed checking | SDL_assert SDL_assert_release SDL_assert_paranoid |
'''enabled''' '''enabled''' '''enabled''' |