6

使用 Cargo,我可以设置项目的开发设置以使用并行代码生成:

[profile.dev]
codegen-units = 8

根据文档,应该可以~/.cargo/config将此设置应用于所有项目。这对我不起作用:似乎.cargo/config根本没有使用该文件。有没有办法将这样的配置应用于我编译的每个项目?

4

2 回答 2

4

您可以为.cargo/config文件中的所有构建或每个目标设置 rustflags。

[build] # or [target.$triple]
rustflags = ["-Ccodegen-units=4"]

需要明确的是,这将为您的所有项目(由此 .cargo/config 覆盖)设置 codegen-units,而不管配置文件如何。

为了确保它被实际设置,您还可以在同一个文件中设置详细输出。这将显示带有 cargo 调用的标志的每个 rustc 命令。

[term]
verbose = true
于 2017-06-03T16:09:51.843 回答
2

一种解决方法是创建一个要调用的脚本,而不是cargo

#!/bin/bash

if [[ $* != *--release*  ]]; then
    # dev build
    export RUSTFLAGS="-C codegen-units=8"
fi

cargo "$@"

如果cargo在脚本上使用完整路径,则可以创建别名

alias cargo=/path/to/script

然后打电话cargo

于 2016-05-06T14:13:49.643 回答