如何在我的 Cargo.toml 中启用 --gc-targets?
Posted
技术标签:
【中文标题】如何在我的 Cargo.toml 中启用 --gc-targets?【英文标题】:How can I enable --gc-targets in my Cargo.toml? 【发布时间】:2021-09-09 02:09:06 【问题描述】:根据wasm-gc
的存档通知,
默认情况下,wasm-pack(和 wasm-bindgen)项目已经为您运行 [
--gc-targets
],因此无需再次运行。
我们如何在 Cargo.toml 中明确指定这一点?
【问题讨论】:
问题不清楚。您想在 Cargo 中明确指定什么?正如您对其他问题的回答 - ***.com/questions/68135109/… - Cargo 对 wasm-gc 或如何对 Wasm 文件进行 GC-ing 一无所知。 @RReverser 我想在我的 Cargo toml 中指定一个指令,指示 rustc 或链接器(接收选项)传递--gc-targets
没有--gc-targets
选项。正如 wasm-gc 的描述所说,“这对于任意 wasm 可执行文件实际上是 --gc-sections。” - 实际上意味着它不是一个实际的链接器选项,只是一个类似的后处理。而且,正如它还说的那样,来自编译器的 Wasm 是不必要的,因为它已经生成了没有未使用部分的 Wasm。你想解决什么问题?
【参考方案1】:
Rustc 传递参数
-C, --codegen OPT[=VALUE]
Set a codegen option
你想要 link-arg 的 codegen 选项,所以你可以像 -C link-arg=--gc-targets
一样使用它,你可以在 Cargo.toml 中设置它,
[[bin]]
rustflags = [
"-C", "link-arg=--gc-targets",
]
或者,您现在可以直接使用 Cargo 中的新 experimental extra-link-arg
选项进行设置。
【讨论】:
以上是关于如何在我的 Cargo.toml 中启用 --gc-targets?的主要内容,如果未能解决你的问题,请参考以下文章