當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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