当前位置: 首页 > news >正文

专门做预售的网站长沙招聘网最新招聘信息网

专门做预售的网站,长沙招聘网最新招聘信息网,国外app推广平台有哪些,做汽车配件生意的网站以下内容为本人的学习笔记#xff0c;如需要转载#xff0c;请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/viSsCaFR2x9hZOvo1PoRqA 添加依赖项 前面已经提到过在 cargo 配置文件 Cargo.toml 中如何手动添加工程依赖项#xff0c;cargo 同样提供了 add …以下内容为本人的学习笔记如需要转载请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/viSsCaFR2x9hZOvo1PoRqA 添加依赖项 前面已经提到过在 cargo 配置文件 Cargo.toml 中如何手动添加工程依赖项cargo 同样提供了 add 指令用于快捷添加依赖项比如添加随机数生成包 rand $ cargo add randUpdating crates.io indexAdding rand v0.8.5 to dependencies.Features: alloc getrandom libc rand_chacha std std_rng- log- min_const_gen- nightly- packed_simd- serde- serde1- simd_support- small_rngUpdating crates.io index $ cat Cargo.toml [package] name hello_rust version 0.1.0 edition 2021# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies] rand 0.8.5添加完依赖项 rand 后然后看看编译执行过程 $ cargo runDownloaded cfg-if v1.0.0Downloaded rand_chacha v0.3.1Downloaded ppv-lite86 v0.2.17Downloaded rand_core v0.6.4Downloaded rand v0.8.5Downloaded getrandom v0.2.11Downloaded libc v0.2.150Downloaded 7 crates (910.0 KB) in 4.12sCompiling libc v0.2.150Compiling cfg-if v1.0.0Compiling ppv-lite86 v0.2.17Compiling getrandom v0.2.11Compiling rand_core v0.6.4Compiling rand_chacha v0.3.1Compiling rand v0.8.5Compiling hello_rust v0.1.0 (~/hello_rust)Finished dev [unoptimized debuginfo] target(s) in 20.75sRunning target/debug/hello_rust Hello rusts world!看到编译过程 cargo 会先从 crates.io 下载依赖项源码然后编译依赖项源码最后才编译本地工程代码。但是刚刚用 cargo add 指令添加的依赖项是 rand为什么多了这么多其它内容因为 rand 也有依赖项为了编译 rand 也需要先把它的依赖项源码下载下来。 在工程被首次构建后发现工程目录下多了个 Cargo.lock 文件。这个文件是为了更具体地描述 Cargo.toml 文件中所添加的依赖项它由 cargo 自动维护开发人员不应该手动修改它。 看看构建之后的 Cargo.lock $ cat Cargo.lock # This file is automatically generated by Cargo. # It is not intended for manual editing. version 3[[package]] name cfg-if version 1.0.0 source registryhttps://github.com/rust-lang/crates.io-index checksum baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd[[package]] name getrandom version 0.2.11 source registryhttps://github.com/rust-lang/crates.io-index checksum fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f dependencies [cfg-if,libc,wasi, ][[package]] name hello_rust version 0.1.0 dependencies [rand, ][[package]] name libc version 0.2.150 source registryhttps://github.com/rust-lang/crates.io-index checksum 89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c[[package]] name ppv-lite86 version 0.2.17 source registryhttps://github.com/rust-lang/crates.io-index checksum 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de[[package]] name rand version 0.8.5 source registryhttps://github.com/rust-lang/crates.io-index checksum 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 dependencies [libc,rand_chacha,rand_core, ][[package]] name rand_chacha version 0.3.1 source registryhttps://github.com/rust-lang/crates.io-index checksum e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88 dependencies [ppv-lite86,rand_core, ][[package]] name rand_core version 0.6.4 source registryhttps://github.com/rust-lang/crates.io-index checksum ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c dependencies [getrandom, ][[package]] name wasi version 0.11.0wasi-snapshot-preview1 source registryhttps://github.com/rust-lang/crates.io-index checksum 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423为什么还需要更多的依赖项描述呢因为 Cargo.toml 文件中填写的依赖项其自身所依赖的包可能会更新为避免依赖项各自更新后不兼容导致的编译错误需要更多的详细描述对依赖项进行身份固化比如依赖项所依赖的的依赖包名、版本、来源、校验码等确保循环依赖在后期的再次编译中不会突然报错。 同时Cargo.lock 文件仅会在 package 工程首次编译构建时生成如果依赖项被更新了再次利用 cargo 重新构建编译时会自动维护 Cargo.lock 文件内容。 检查代码 开发软件过程中往往要不断迭代升级频繁修改又为了在开始下一部分编码之前先检查当前编写代码的正确性无论是语法还是逻辑层面都需要。由于功能逻辑未必开发完整中途检查更多的是侧重于编译完整性也就是语法层面只要能编译顺利通过即可这并不需要最终的输出文件。对于逻辑功能的验证才需要实际运行最终输出文件。 编译时输出文件的大小直接影响到投入的等待检查时间工程代码少编译输出的文件较小耗时也短但是面对庞大项目工程时为了加快开发中途的检查那么 cargo 有没有提供这方面的选项工具帮助跳过输出文件这最后一步呢 Cargo 提供了 check 指令用于检查 package 工程代码和依赖项相关的问题。 为了演示先用 cargo clean 将当前工程的中间文件清除然后执行 cargo check 检查代码 $ cargo clean $ cargo checkChecking hello_rust v0.1.0 (~/hello_rust)Finished dev [unoptimized debuginfo] target(s) in 0.07s $ cargo clean $ cargo buildCompiling hello_rust v0.1.0 (~/hello_rust)Finished dev [unoptimized debuginfo] target(s) in 0.23s从上面的输出来看和 cargo build 编译指令相比cargo check 的输出更快。 为了更详细了解 cargo build 和 cargo check 的耗时我们重新用 time 指令来对比一下 $ cargo clean $ time cargo checkChecking hello_rust v0.1.0 (~/hello_rust)Finished dev [unoptimized debuginfo] target(s) in 0.80sreal 0m0.894s user 0m0.109s sys 0m0.297s $ cargo clean $ time cargo buildCompiling hello_rust v0.1.0 (~/hello_rust)Finished dev [unoptimized debuginfo] target(s) in 1.17sreal 0m1.260s user 0m0.266s sys 0m0.453s从上面的统计数据来看cargo check 执行速度明显要快很多而这还只是编译构建简单的 hello world 程序。如果换做普通规模的软件工程cargo check 的执行速度优势想必会更明显。
http://www.hkea.cn/news/14500043/

相关文章:

  • 建个电子商务网站多少钱阿里巴巴国际贸易网
  • 网站备案名称几个字wordpress个人简历模板
  • 深圳建设网站费用玉溪市住房城乡建设局网站
  • 做地图特效的网站建立多个wordpress
  • 做网站怎么申请域名dw网页制作在线编辑
  • 建设部网站从何时可以查询工程师证中山建站
  • 自己做的网站和淘宝店的区别杭州网站公司
  • 松江做公司网站松江网站建设
  • 甘肃购物网站建设西安网站建设制作专业公司
  • 大连网站建设怎么样wordpress 锚点应用
  • 网站做的最好的网站有哪些游戏币交易平台代理
  • 网站免费正能量下载wordpress子站点打不开
  • 怎么快速建立一个网站做内销的网站推荐
  • 网站建设如何创建框架页面深圳网站开发深圳网站设计
  • 室内设计效果图的网站天眼在线查企业查询
  • 政务建设网站得必要性wordpress 读取数据的地方
  • 万州做网站多少钱wordpress 百家号
  • 快递空包网站建设郑州优化网站
  • 企业门户网站开发费用注册建公司网站
  • 做网站如何对接支付阿里巴巴做网站分录
  • 做网站宿迁logo设计在线生成免费ai
  • 网站流量分析方法网上翻译网站做译员
  • 营商环境建设监督局网站网站建设费交文化事业
  • 运营型网站网站关键词排名
  • 哔哩哔哩视频大全网站改名 seo
  • 做网站要学的技术房地产网站 模板
  • 使用网站模板侵权吗wordpress 邀请码注册衔接
  • 宁波网站建设lonoo衡阳市网站建设
  • 深圳建设局招标网站宣传推广方案怎么写模板
  • 专业营销型网站定制闵行区网站制作