GNU页面说:
如果发生正常终止,您的程序可以安排运行自己的清理功能。如果您正在编写一个用于各种应用程序的库,那么坚持所有应用程序在退出之前显式调用该库的清理函数是不可靠的。通过使用 atexit 或 on_exit 在库本身中设置清理函数,使清理对应用程序不可见会更加健壮。
SDL 在其中 一页中 说:
您可以使用
SDL_Quit()
withatexit()
确保它在应用程序关闭时运行,但从库或其他动态加载的代码中执行此操作是不明智的。
我从 GNU 页面了解到,它鼓励在程序中使用 atexit()。
有人可以详细说明一下,取自 SDL 页面吗?意思不是很明显:
但从库或其他动态加载的代码中执行此操作是不明智的。
使用 atexit() 时要避免哪些陷阱?
上面的两个引用是否相互矛盾?