__cxa_atexit registers a function to be called by exit or when a shared library is unloaded. This function is only called from code generated by the C++ compiler.
__cxa_atexit has the same specification as atexit.
__cxa_atexit is not in the source standard; it is only in the binary standard.