Program support utilities - cppreference.com (original) (raw)
Program support utilities
Contents
- 1 Program termination
- 2 Unreachable control flow
- 3 Communicating with the environment
- 4 Memory alignment query
- 5 Signals
- 6 Non-local jumps
- 7 References
- 8 See also
[edit] Program termination
The following functions manage program termination and resources cleanup.
| Defined in header <stdlib.h> | |
|---|---|
| abort | causes abnormal program termination (without cleaning up) (function) [edit] |
| exit | causes normal program termination with cleaning up (function) [edit] |
| quick_exit(C11) | causes normal program termination without completely cleaning up (function) [edit] |
| _Exit(C99) | causes normal program termination without cleaning up (function) [edit] |
| atexit | registers a function to be called on exit() invocation (function) [edit] |
| at_quick_exit(C11) | registers a function to be called on quick_exit invocation (function) [edit] |
| EXIT_SUCCESSEXIT_FAILURE | indicates program execution execution status (macro constant) [edit] |
[edit] Unreachable control flow
[edit] Communicating with the environment
[edit] Memory alignment query
[edit] Signals
Several functions and macro constants for signal management are provided.
| Defined in header <signal.h> | |
|---|---|
| signal | sets a signal handler for particular signal (function) [edit] |
| raise | runs the signal handler for particular signal (function) [edit] |
| sig_atomic_t | the integer type that can be accessed as an atomic entity from an asynchronous signal handler (typedef) |
| SIG_DFLSIG_IGN | defines signal handling strategies (macro constant) [edit] |
| SIG_ERR | error was encountered (macro constant) [edit] |
| Signal types | |
| SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERM | defines signal types (macro constant) [edit] |
[edit] Non-local jumps
[edit] References
C23 standard (ISO/IEC 9899:2024):
7.13 Non-local jumps <setjmp.h> (p: 283-284)
7.14 Signal handling <signal.h> (p: 285-287)
7.24 General utilities <stdlib.h> (p: 356-374)
7.33.9 Signal handling <signal.h> (p: 458)
7.33.16 General utilities <stdlib.h> (p: 458)
C17 standard (ISO/IEC 9899:2018):
7.13 Nonlocal jumps <setjmp.h> (p: 191-192)
7.14 Signal handling <signal.h> (p: 193-195)
7.22 General utilities <stdlib.h> (p: 248-262)
7.31.7 Signal handling <signal.h> (p: 332)
7.31.12 General utilities <stdlib.h> (p: 333)
C11 standard (ISO/IEC 9899:2011):
7.13 Nonlocal jumps <setjmp.h> (p: 262-264)
7.14 Signal handling <signal.h> (p: 265-267)
7.22 General utilities <stdlib.h> (p: 340-360)
7.31.7 Signal handling <signal.h> (p: 455)
7.31.12 General utilities <stdlib.h> (p: 456)
C99 standard (ISO/IEC 9899:1999):
7.13 Nonlocal jumps <setjmp.h> (p: 243-245)
7.14 Signal handling <signal.h> (p: 246-248)
7.20 General utilities <stdlib.h> (p: 306-324)
7.26.6 Signal handling <signal.h> (p: 401)
7.26.10 General utilities <stdlib.h> (p: 402)
C89/C90 standard (ISO/IEC 9899:1990):
4.6 NON-LOCAL JUMPS <setjmp.h>
4.7 SIGNAL HANDLING <signal.h>
4.10 GENERAL UTILITIES <stdlib.h>
4.13.5 Signal handling <signal.h>
7.13.7 General utilities <stdlib.h>