本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。