本文简要介绍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 FromResidual.from_residual用法及代码示例
- Rust FromUtf16Error用法及代码示例
- Rust FromUtf8Error.as_bytes用法及代码示例
- Rust FromVecWithNulError.into_bytes用法及代码示例
- Rust FromBytesWithNulError用法及代码示例
- Rust From用法及代码示例
- Rust FromUtf8Error.into_bytes用法及代码示例
- Rust FromSecsError用法及代码示例
- Rust FromUtf8Error用法及代码示例
- Rust FromUtf8Error.utf8_error用法及代码示例
- Rust FromVecWithNulError用法及代码示例
- Rust FromIterator用法及代码示例
- Rust FromStr.from_str用法及代码示例
- Rust FromStr用法及代码示例
- Rust FromVecWithNulError.as_bytes用法及代码示例
- Rust FromIterator.from_iter用法及代码示例
- Rust Formatter.precision用法及代码示例
- Rust Formatter.debug_list用法及代码示例
- Rust Formatter.sign_minus用法及代码示例
- Rust File用法及代码示例
- Rust FileExt.read_exact_at用法及代码示例
- Rust FileTypeExt.is_char_device用法及代码示例
- Rust File.open用法及代码示例
- Rust File.sync_data用法及代码示例
- Rust Formatter.write_fmt用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::os::unix::io::FromRawFd.from_raw_fd。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。