C / C++ exit status macro
Exit status by convention has integer zero to represent “OK” no error status. Non-zero status is generally considered a failure. Coding languages such as Fortran also have built-in syntax to manage program exit code returned to the operating system.
C++
defines EXIT_SUCCESS
and EXIT_FAILURE
macros in header
cstdlib.
C
defines EXIT_SUCCESS
and EXIT_FAILURE
macros in header stdlib.h.
Because typical headers already included often #include <cstdlib>
or #include <stdlib.h>
, developers may not realize these exit status macros need to be included somewhere.
As compilers transition to providing stdlib via C++20 modules and generally cleanup excessive includes from built-in headers, code may suddenly complain about missing exit status macros at build time.
We feel it’s a good practice to use exit status macros as a findable and readable indication that program flow is ending and returning to system. A best practice is to include the appropriate header in any code file where the exit status macros are used.
#include <stdlib.h>
int main(void){
return EXIT_SUCCESS;
}
#include <cstdlib>
int main(){
return EXIT_SUCCESS;
}