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

宏是否可以根据文件内容生成代码?

耿锦
2023-03-14

我想编写一个由文件路径参数化的宏。在编译时,它读取该文件并根据其内容发出Rust代码。这可能吗?

我发现包含字节但不清楚我如何在编译时使用它的结果,而不是将内容按原样拼接到生成的代码中。

共有1个答案

古扬
2023-03-14

虽然这可能是可能的,但您肯定是在自找麻烦:例如,货物将无法判断“包装”代码是否需要在“包装”代码更改后重新编译,因为它不认为该文件是源代码的一部分树。

您应该考虑使用构建脚本或良好的旧Makefile,它们正是为此目的而设计的。

 类似资料:
  • 我有一个JSON文件。我正在寻找任何有助于根据该JSON文件生成AVRO模式的程序/工具。我不关心数据类型。只要AVRO模式结构是基于JSON生成的,它都可以是字符串。 目标是,我试图只使用json文件创建一个avro文件。为此,我需要avro模式。 所以,如果我有一个avro模式,使用avro工具,我将能够通过提供avro模式和JSON文件作为输入来生成avro文件。 任何进一步的帮助/建议将不

  • 我正在使用 swagger-codegen 基于我的 Web API 生成 SDK,生成的源文件包含以下标头: 是否可以配置swagger-codecen以不生成标头的最后3行?

  • 我想根据一个域匹配一个复杂常数。如果在另一个模式上选择一个常量,则不允许在另一个模式上选择一个常量。 是否可以编写一个宏,将常量表达式的结果在编译时“内联”以使生成的代码是有效的? 考虑以下工作代码: 我希望能够基本上写下: 这样,我就不必在我的比赛陈述中输入神奇的数字,也不必重复第二次。 我意识到我可以使用警卫: ...但这似乎有点冗长,我关心的是如何说服编译器给我一个跳转表实现。(想象一下,与

  • 我正在尝试在我的Android项目上启用proguard代码混淆。这些年来,我看到了很多问题,但很多线索都是相当古老的,很难说出它们对我有多大的相关性。 2编辑项目。属性,取消注释 proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 3由于pro Guard-Project.txt不

  • 我有一个包含长文本的元素。span在其css STYPE上设置了字体大小。文本过长将溢出或换行。我想知道是否有一种css样式可以使文本适合的宽度,而不需要换行。我希望css样式禁用上的并自动应用新的font-size来修复内容。

  • 问题内容: 我用np.save()保存了几个numpy数组,并将它们放在一起非常大。 是否可以将它们全部加载为内存映射文件,然后对它们进行串联和切片,而无需将任何内容都加载到内存中? 问题答案: 使用显然将数组加载到内存中。为避免这种情况,您可以轻松地在新文件中创建一个thrid数组,并从要连接的数组中读取值。以更有效的方式,您还可以将新阵列追加到磁盘上已存在的文件中。 在任何情况下,您都必须为数