如何在C ++中对exec()进行析构函数友好的调用?

时间:2013-06-16 15:34:12

标签: c++ exec destructor

我曾尝试在C ++代码中运行c-style函数exec()(带有一些后缀),但提到没有为现有对象调用析构函数。

有没有办法保证所有必需的析构函数的调用 - 比如程序终止 - 在exec()之前?

可能有另一种方法可以在C ++中用exec()替换执行代码吗?

1 个答案:

答案 0 :(得分:3)

来自手册页

  

exec()函数仅在发生错误时返回。

由于exec函数使用新图像覆盖进程,因此在成功调用之后无法执行任何析构函数。

如果你需要清理,那么你应该在调用exec之前进行清理。