Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 如何用退出代码干净地结束程序?_Rust - Fatal编程技术网

Rust 如何用退出代码干净地结束程序?

Rust 如何用退出代码干净地结束程序?,rust,Rust,在Rust 1.0中是否有返回退出代码的方法 我试过env::设置退出状态(退出代码)但这会生成编译器错误 还有一个问题:这是类似的,但询问了进程何时必须提前退出的情况 编辑:我正在寻找一种解决方案,它还允许进程整理堆栈、调用析构函数等。使用指定的退出代码退出程序。根据的注释进行构建,如果您正在搜索与C的return exit\u code等效的代码,您可以通过以下方式人工构建它: fn main() { let exit_code = real_main(); std::pr

在Rust 1.0中是否有返回退出代码的方法

我试过
env::设置退出状态(退出代码)但这会生成编译器错误

还有一个问题:这是类似的,但询问了进程何时必须提前退出的情况



编辑:我正在寻找一种解决方案,它还允许进程整理堆栈、调用析构函数等。

使用指定的退出代码退出程序。

根据的注释进行构建,如果您正在搜索与C的
return exit\u code
等效的代码,您可以通过以下方式人工构建它:

fn main() {
    let exit_code = real_main();
    std::process::exit(exit_code);
}

fn real_main() -> i32 {
    // the real program here
}

这样,程序的所有对象都将在
real\u main()
函数的作用域内,您可以安全地使用
return exit\u代码main
中的code>。

自Rust 1.26以来,
main
函数不再局限于
()
main
还可以为任何类型的
E:Debug
返回
结果。
Ok
值映射到
EXIT\u SUCCESS
(在所有平台上恰好为0),而
Err
值映射到
EXIT\u FAILURE
(在所有平台上恰好为1)。错误值也会自动打印到标准错误流中


将来,Rust将为
main
支持更多的返回类型。这一特性(在Rust 1.31.1中不稳定)定义了所有这些类型。trait的任务是将值转换为退出代码。当
终止
变得稳定时,应用程序自然能够自己实现该特性以提供自己的结果类型。

不幸的是,它没有清理并调用析构函数。我会修正这个问题,提到这一点。你有什么理由需要进行清理吗?你们有做“有趣”事情的析构函数吗?如果没有,那么让操作系统清理进程通常就足够了在C语言中。如果可能的话,我想避免不刷新到磁盘等的可能性。@static\u rtti您能进一步解释什么部分不合适吗?当然是一种系统编程语言。。。请记住,Rust也适用于没有启动程序进程(如内核)的环境。我对它读得不够好,这听起来像我想要的。
set\u exit\u status
不推荐使用