当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust FromRawFd.from_raw_fd用法及代码示例


本文简要介绍rust语言中 std::os::unix::io::FromRawFd.from_raw_fd 的用法。

用法

unsafe fn from_raw_fd(fd: RawFd) -> Self

从给定的原始文件说明符构造 Self 的新实例。

此函数使用指定文件说明符的所有权。当对象超出范围时,返回的对象将负责关闭它。

这个函数也是不安全的,因为当前返回的原语具有它们是它们正在包装的文件说明符的唯一所有者的合同。使用此函数可能会意外违反此合同,这可能会导致依赖它为真的代码中的内存不安全。

示例

use std::fs::File;
#[cfg(unix)]
use std::os::unix::io::{FromRawFd, IntoRawFd, RawFd};
#[cfg(target_os = "wasi")]
use std::os::wasi::io::{FromRawFd, IntoRawFd, RawFd};

let f = File::open("foo.txt")?;
let raw_fd: RawFd = f.into_raw_fd();
// SAFETY: no other functions should call `from_raw_fd`, so there
// is only one owner for the file descriptor.
let f = unsafe { File::from_raw_fd(raw_fd) };

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::os::unix::io::FromRawFd.from_raw_fd。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。