Assertions
Include File(s): 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 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 |
disabled |
1 |
for release (default) |
SDL_assert |
disabled |
2 |
for debugging (default) |
SDL_assert |
enabled |
3 |
stringent for detailed checking |
SDL_assert |
enabled |
Enumerations
Structures