标签: c++ exec destructor
我曾尝试在C ++代码中运行c-style函数exec()(带有一些后缀),但提到没有为现有对象调用析构函数。
exec()
有没有办法保证所有必需的析构函数的调用 - 比如程序终止 - 在exec()之前?
可能有另一种方法可以在C ++中用exec()替换执行代码吗?
答案 0 :(得分:3)
来自手册页
exec()函数仅在发生错误时返回。
由于exec函数使用新图像覆盖进程,因此在成功调用之后无法执行任何析构函数。
如果你需要清理,那么你应该在调用exec之前进行清理。