假设我正在用纯 C 语言开发一个库。该库要求用户lib_init()
在他们的程序开始时调用以使其工作。lib_init()
将分配一些内存空间供自己使用(ctrl 变量、aa 列表、fifo 等)。
现在的问题是:有没有办法在程序完成后释放这些内容而不强制用户调用一些清理函数,比如lib_clean()
or lib_finish()
?
要开发的库是一个线程操作库,类似于 POSIX 线程的廉价版本。我想知道是否有任何方法可以在 main 的返回点(跳转到清理函数)结束之前通过使用swapcontext()
. 有什么想法吗?