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

请上传网站应用水印图片光伏电站建设的行业网站

请上传网站应用水印图片,光伏电站建设的行业网站,丢盖网logo在线设计,公司起名字大全免费好听喜欢的话别忘了点赞、收藏加关注哦#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵#xff01;(#xff65;ω#xff65;) 14.4.1. 为什么需要cargo workspace 假如说我们构建了一个二进制crate#xff0c;里面既有library又有库。随着项目规模不断增长#…喜欢的话别忘了点赞、收藏加关注哦对接下来的教程有兴趣的可以关注专栏。谢谢喵(ω) 14.4.1. 为什么需要cargo workspace 假如说我们构建了一个二进制crate里面既有library又有库。随着项目规模不断增长库crate可能不断变大。在这种情况下通常会把它拆为多个包针对这种需求Rust提供了cargo工作空间也就是cargo workspace。 cargo workspace会帮助管理多个相互关联且需要协同开发的crate。其本质是一套共享同一个Cargo.lock和输出文件的包。 14.4.2. 使用workspace 有多种方式可以创建工作空间(workspace)。 做一个例子这个工作空间里有1个二进制crate和1个库crate 二进制crate里有main函数依赖于库crate其中一个库crate提供一个叫add_one函数 1. 创建workspace目录 首先为工作空间创建一个目录我取名叫add在终端输入 $ mkdir add $ cd add2. 在主项目中使用workspace 接下来在add目录中我们创建将配置整个工作区的Cargo.toml文件。该文件不会有[package]部分。相反它将以[workspace]部分开头 [workspace]members [adder, ]adder就是我给二进制crate取的名这个列表可以继续添加。 3. 添加库 $ cargo new adder通过这个命令创建了adder crate在目录add/adder下 此时整个项目的结构如下 ├── Cargo.lock ├── Cargo.toml ├── adder │ ├── Cargo.toml │ └── src │ └── main.rs └── target需要注意的是这时候我们既可以对add这个项目使用cargo build也可以对add下的adder库使用cargo bulid。但是生成的target目录和Cargo.lock文件只会有一个在add目录下而adder库使用cargo bulid的产出物也会存放在这里。因为各个crate往往是相互依赖的每个目录都有自己的target就会导致开发者不得不反复编译工作空间里的其余crate。 接下来添加其它crate 另一个crate叫add_one修改工作空间信息 [workspace]members [adder,add_one, ]使用cargo new添加库记得使用--lib旗帜来把它声明为library crate $ cargo new add_one --lib现在整个项目的结构是: ├── Cargo.lock ├── Cargo.toml ├── add_one │ ├── Cargo.toml │ └── src │ └── lib.rs ├── adder │ ├── Cargo.toml │ └── src │ └── main.rs └── target4. 编写代码 在add_one/src/lib.rs文件中我们添加一个add_one函数 pub fn add_one(x: i32) - i32 {x 1 }现在我们可以让adder包和我们的二进制文件依赖于add_one。首先我们需要添加路径依赖add_one到adder/Cargo.toml因为Cargo并不假设工作区中的crate会相互依赖因此我们需要明确依赖关系。在adder/Cargo.toml中这么写 [dependencies] add_one { path ../add_one }接下来让我们使用add_one函数来自add_one crate。打开adder/src/main.rs文件并在顶部添加use来把add_one引入作用域将新的add_one库crate纳入范围。然后更改main函数来调用add_one函数。 use add_one;fn main() {let num 10;println!(Hello, world! {num} plus one is {}!, add_one::add_one(num)); }5. 编译 对add这个项目使用cargo build $ cargo buildCompiling add_one v0.1.0 (file:///projects/add/add_one)Compiling adder v0.1.0 (file:///projects/add/adder)Finished dev [unoptimized debuginfo] target(s) in 0.68s没有报错正常运行。 6. 测试 我们还可以通过使用-p标志并指定我们要测试的包的名称从顶级目录中对工作区中的一个特定包运行测试。比如说仅测试add_one函数 $ cargo test -p add_oneFinished test [unoptimized debuginfo] target(s) in 0.00sRunning unittests src/lib.rs (target/debug/deps/add_one-b3235fea9a156f74)running 1 test test tests::it_works ... oktest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00sDoc-tests add_onerunning 0 teststest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s如果您将工作区中的 crate 发布到crates.io 则工作区中的每个 crate 都需要单独发布。与cargo test一样我们可以使用-p在工作区中发布特定的箱子标记并指定我们要发布的包的名称。
http://www.eeditor.cn/news/121491/

相关文章:

  • 辽阳县住房和城乡建设局网站投资管理公司注册条件和要求
  • wordpress加关键词成都seo整站
  • 做网站的的广告词做影视网站违法不
  • 网站建设公司推荐乐云seowordpress 手机 自适应
  • 园岭中小网站建设株洲企业网站建设工作
  • 网站建设网站建设教程重庆网站开发哪家专业
  • python做电子商务网站建设银行假网站首页
  • 如何手机网站建立北京网站设计建设
  • 免费word文档模板下载网站江安县建设招标网站
  • icp备案网站管理员有负责吗微信自带小程序商城
  • dw做网站一般设为什么样屏蔽蜘蛛网站还会被收录吗
  • 北京网站建设曝光尚词网网页设计图片的应用
  • 建筑网站免费嵌入式培训机构哪家好
  • 网站开发术语苏州手机app开发公司
  • 网站的技术解决方案如何建立网址
  • 为什么网站建设要值班食品包装
  • 建立网站的英文怎么说建设彩票网站合法吗
  • 设计师网站使用不了六安论坛网站
  • 网站建设 全包 模板佛山响应式网站建设
  • 怎样创建一个国际网站进出口网站贸易平台有哪些
  • 猪八戒网仿照哪个网站做的站内搜索工具
  • 山西宏图建设集团有限公司网站网页制作公司兼职
  • 济宁网站建设制作设计东莞大岭山中西医结合医院
  • 中小企业网站设计与开发目的自己建设网站难不难
  • 网页设计网站的分析如何在京东上开网店
  • 品牌网站建设教程如何做美发店网站
  • 空气净化器用什么网站做外贸如何建设影视网站首页
  • 哪有网站给光头强做面自己怎么制作logo
  • 奉化网站关键词优化费用雄安企业网站建设
  • 使用jsp开发的网站新网站上线 怎么做seo