如何访问rust中的上游模块或共享资源?

如何访问rust中的上游模块或共享资源?,rust,Rust,如下图所示,我需要应用程序0和1才能访问应用程序2,所有应用程序都需要访问主文件夹中的Data.file。如何访问上游数据 层次结构如下所示: Main_folder |- App_folder_0 |- src |- main.rs |- App_folder_1 |- src |- main.rs |- App_folder_2 |- src |- main.rs |- Data.file 这个问题很模糊——任何文件都可以通过std::fs::re

如下图所示,我需要应用程序0和1才能访问应用程序2,所有应用程序都需要访问主文件夹中的Data.file。如何访问上游数据

层次结构如下所示:

Main_folder
|- App_folder_0
  |- src
     |- main.rs
|- App_folder_1
  |- src
     |- main.rs
|- App_folder_2
  |- src
     |- main.rs
|- Data.file

这个问题很模糊——任何文件都可以通过std::fs::read在父目录中访问。如果您希望访问父路径中的模块,可以轻松完成此操作,例如:

#[path=“../../my_module.rs”]
mod my_模块;

澄清:Data.file是在主文件夹旁边还是在主文件夹中?该图使其看起来像主文件夹中的@njha。您是如何加载
数据文件的?它是在编译时使用还是在运行时使用?如果是在运行时,你是如何运行应用程序的,你能依赖工作目录吗?我在这个网站上看到很多问题都是由于不正确地使用
#[path=…]
,除非你别无选择,否则我不建议你使用它。有更好的机制适合OP的结构。@kmdreko您有什么建议?如果应用程序在其目录结构中保持静态,我认为使用path没有问题,并且已经在多个项目中使用过它。此处的模块引用:。话虽如此,还有一些更复杂的选项,包括创建一个本地板条箱,它在项目级别()上基本上做相同的事情,或者(如果使用git)将共享库作为git子模块添加到应用程序中。