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

综合商城网站程序京东商城官方旗舰店

综合商城网站程序,京东商城官方旗舰店,哈尔滨优化网站方法,深圳ccd设计公司官网以下内容为本人的学习笔记#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.dnsts.com.cn/news/111917.html

相关文章:

  • 网站推广策划的思路包括哪些滨海专业做网站
  • 网站开发的就业简述seo和sem的区别与联系
  • 律师网站建站开发软件需要什么条件
  • 花店网站建设课程设计网站开发一定得用html吗
  • 南美洲网站后缀网站开发图片存哪里
  • 做高仿表网站在哪里买空间做网站
  • 电商付费推广有哪些沈阳优化网站
  • 企业建网站平台设计英语
  • 个人可以做企业网站Wordpress现有数据库表
  • 网站建设用什么写wordpress调用分类
  • 网站的做网站公司哪家好网站代运营价格
  • 网站做sem推广时要注意什么意思常州seo排名外包
  • 网页与网站之间的关系北京互联网网站建设价格
  • 上海建站网西宁网站建设官网
  • 新华书店网站建设2345小游戏
  • 湛江免费建站平台免费网页制作成品
  • 手机网站 生成app网站建设分工方案
  • 营销推广计划seo如何优化网站
  • 上海网站建设公司地wordpress做seo优化
  • 广州外贸网站建设 open做一个网址需要什么
  • 河北电子商务网站建设昌黎县城乡建设局网站
  • 网站空间选linuxwordpress 上传字体
  • 焦作建设银行门户网站wordpress查找
  • 东莞设计网站华为域名注册
  • 常州网站制作企业香奈儿电子商务网站建设策划书
  • 企业网站开发公司排行榜网站开发 需求调研
  • 云南seo网站关键词优化软件公司网站注意事项
  • 侯马建设规划局网站wordpress十大必备插件
  • 科技公司网站网页新闻门户网站制作
  • 网站建设课程ppt广东建设信息网站首页