如何在Rust Standart库中读取OS特定部分

问题描述 投票:0回答:1

所以我猜想我需要找到fs_imp ::文件是什么。事实证明,此FS_IMP来自这里,该fs :: fs :: file:file:

use crate::sys::fs as fs_imp;

.

toflow crate :: sys带我到
/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/mod.rs

这一点我很想,因为这只是一个看起来像这样的文件:

#![allow(unsafe_op_in_unsafe_fn)] /// The PAL (platform abstraction layer) contains platform-specific abstractions /// for implementing the features in the other submodules, e.g. UNIX file /// descriptors. mod pal; mod personality; pub mod backtrace; pub mod cmath; pub mod exit_guard; pub mod os_str; pub mod path; pub mod sync; pub mod thread_local; // FIXME(117276): remove this, move feature implementations into individual // submodules. pub use pal::*;

那么,我如何了解Rust Files的Linux版本在引擎盖中的工作方式?
    

您只是继续关注进口。

colould
fs

带入范围的唯一一件事是通配符重新删除the the the,它导致您到达ivent,根据平台的不同,另一个模块被重新卸下:

rust std
1个回答
0
投票
pub use pal::*;

如果我们遵循的话,例如,通往通往

sys/pal/mod.rs
模块的定义,它包含cfg_if::cfg_if! {
    if #[cfg(unix)] {
        mod unix;
        pub use self::unix::*;
    }
// …
的定义。

unix

当然,如果您有例如

sys/pal/unix/mod.rs

或类似的设置,则可以“获取定义”,直到您到达目标,这使所有手动搜索变得更加容易。
    
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.