编译完程序“ zagir”后,release文件夹的大小超过200MiB,对于我编写的程序而言这是荒谬的。因此,我尝试检查是否只有“ zagir”可执行文件独立运行并且是否运行。
但令人困惑的是,发布文件夹还包括libzagir.rlib文件以及.d文件和其他文件夹。
Cargo.toml
[package]
authors = ["Sharad Chand"]
name = "zagir"
version = "0.1.0"
[dependencies]
bcrypt = "0.1.3"
dotenv = "0.10.1"
image = "0.17.0"
log = "0.3.8"
r2d2 = "0.7.3"
r2d2-diesel = "0.16.0"
rand = "0.3.16"
rocket = "0.3.2"
rocket_codegen = "0.3.2"
serde = "1.0.11"
serde_derive = "1.0.11"
serde_json = "1.0.2"
validator = "0.6.0"
validator_derive = "0.6.0"
[dependencies.bigdecimal]
features = ["serde"]
version = "0.0.10"
[dependencies.chrono]
features = ["serde"]
version = "0.4.0"
[dependencies.diesel]
features = [
"mysql",
"chrono",
"unstable",
"numeric",
"huge-tables",
]
version = "0.16.0"
[dependencies.diesel_codegen]
features = ["mysql"]
version = "0.16.0"
[dependencies.rocket_contrib]
features = ["handlebars_templates"]
version = "0.3.2"
[dependencies.uuid]
features = ["v4"]
version = "0.4"
可执行文件实际上需要目标目录中的哪些文件
除了可执行文件本身,它们都不是。默认情况下,Rust产生静态链接的二进制文件。
其他文件只是Cargo维护的构建工件,目的是使代码重建更加高效。它们包括诸如您的依赖项之类的东西。
您可能会发现一些文件的非详尽样本:
*.d
-与Makefile兼容的依赖项列表*.rlib
— Rust库文件。包含依赖项的已编译代码build
-构建脚本的目录用作临时空间deps
—您编译的依赖项examples
—examples
目录中的二进制文件incremental
—增量编译缓存的目录*-{hash}
—来自的二进制文件 cargo test
其中一些内容记录在Cargo源代码中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句