Rust 如何处理带锈的浮点异常(fpe)?
在C语言中,您可以使用Rust 如何处理带锈的浮点异常(fpe)?,rust,Rust,在C语言中,您可以使用SIGFPE来定义浮点异常的处理程序 例如,如何使用Rust定义处理溢出的函数 有关将回调设置为在C中运行的示例,请参阅。Rust不支持将信号作为标准库的一部分。我相信这是因为它们是高度特定于平台的,并且为大多数多线程程序设计得非常糟糕 有几个板条箱可以用来处理信号;是我以前用过的。下面是该库中的示例代码,更改为报告一个SIGFPE: #[macro_use] extern crate chan; extern crate chan_signal; use chan_si
SIGFPE
来定义浮点异常的处理程序
例如,如何使用Rust定义处理溢出的函数
有关将回调设置为在C中运行的示例,请参阅。Rust不支持将信号作为标准库的一部分。我相信这是因为它们是高度特定于平台的,并且为大多数多线程程序设计得非常糟糕 有几个板条箱可以用来处理信号;是我以前用过的。下面是该库中的示例代码,更改为报告一个
SIGFPE
:
#[macro_use]
extern crate chan;
extern crate chan_signal;
use chan_signal::Signal;
use std::thread;
fn main() {
let signal = chan_signal::notify(&[Signal::FPE]);
let (sdone, rdone) = chan::sync(0);
thread::spawn(move || run(sdone));
chan_select! {
signal.recv() -> signal => {
println!("received signal: {:?}", signal)
},
rdone.recv() => {
println!("Program completed normally.");
}
}
}
fn run(_sdone: chan::Sender<()>) {
thread::sleep_ms(100_000);
}
你想对溢出等采取什么样的行动,你能举一个C语言中的例子吗?