当前位置: 首页 > 知识库问答 >
问题:

是否有宏或类似的解决方法来在编译时包含源文件夹(src)路径?

林祯
2023-03-14

是否有一个Rust宏或类似的解决方法,可以在编译时,或者在执行货物构建时,将通过货物新建在我的源文件中创建的“src”文件夹的路径作为字符串文字包含在内?

我已经成功地做了类似的事情,我使用include_str!包含文件内容,但我需要知道是否可以直接在代码中包含src路径。


共有1个答案

东门理
2023-03-14

没有,但是你可以使用文件接近它

const FILE: &'static str = concat!(env!("CARGO_MANIFEST_DIR"), "/", file!());

fn main() {
    use std::path::Path;

    println!("FILE: {:?}", FILE);
    println!("src path: {:?}", Path::new(FILE).parent());
}

输出,在操场上:

FILE: "/playground/src/main.rs"
src path: Some("/playground/src")

 类似资料:
  • 对于简单的proto文件: 它是由protoc编译的。exe和结果也用于一个简单的测试项目,该项目基本上什么都不做,只包括protoc生成的文件。 我正在使用msvc10构建测试项目(x64),然后它给了我很多警告: 有什么好的方法来解决所有这些警告吗?任何建议都将不胜感激。 另外,libprotobuf项目本身可以由msvc10干净地编译,而无需任何警告。 [编辑2013/02/20] 工作解决

  • 在Quarkus中,要将随机文件包含为类路径资源,我们使用<code>Quarkus.native.resources。包括(https://quarkus.io/guides/writing-native-applications-tips#including-资源)。 如何在文件系统中包含文件?即使用读取的内容。 如果我们使用Jib,我们只需将这些文件放在< code>src/main/jib

  • 我得到的是: HelloWorld: inner.java 内部2.Java 现在我要做的是编译这个,这样我就可以运行了。 我可以用以下方法编译它: 但我想使用一个不需要列出每个子文件夹的通用命令。我该怎么做?

  • 问题内容: 从一些类的源代码开始,我看到一些方法包含编译后的代码,在扩展之前,它们看起来像这样: 扩展该方法时,您可以看到其中的代码被写为注释。 请参阅以下方法之一: 我有兴趣进一步了解这些方法以及所使用的语言。 是否可以编写自己的编译代码? 问题答案: 也就是Java(或其他Java兼容语言,如注释所示)。 当给您一个jar文件(例如带有JDK / JRE的rt.jar)时,该文件已经被编译。高

  • 如果在assets文件夹中创建了子文件夹,则出现编译错误“无法复制/Users/…../Subfolder/to/Users/…/Droid/obj/Debug/assets/Subfolder/,因为源文件不存在”。如何使用资产文件夹中的子文件夹?

  • 问题内容: 在我的程序中,我多次从控制台读取整数。每次,我都需要输入这一行。 我习惯了C / C ++,我想知道是否可以定义类似 然后,在我的Java程序中的每个地方,我都可以将表单控制台读取为 但是我读过形式书籍Java不支持宏。 有人请向我解释为什么会这样,我可以用其他任何方式做到这一点。 问题答案: 您 可以, 但 不可以 。 该 不该 部分: 您 不应该这样做, 因为以这种方式使用预处理器