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

那家专门做特卖的网站关于我们网站模板

那家专门做特卖的网站,关于我们网站模板,淄博市建设业协会网站,有哪些网站或者公司招募做视频的一、mod.rs和lib.rs mod.rs往往是把同一目录下的n个rs文件综合在一起的有效方式#xff1b; lib.rs是一个库或子库层次综合在一起的有效方式#xff1b; 下面举个实例来说明。生成一个rusttoc本地库#xff08;由cargo new rusttoc --lib所生成#xff09;#xff0c;目录…一、mod.rs和lib.rs mod.rs往往是把同一目录下的n个rs文件综合在一起的有效方式 lib.rs是一个库或子库层次综合在一起的有效方式 下面举个实例来说明。生成一个rusttoc本地库由cargo new rusttoc --lib所生成目录结构如下 songroomstaff-NB-146:~/myffi/rusttoc/src$ ls -R .: bar lib.rs./bar: data.rs ffi.rs mod.rs其中data.rs文件内容如下 #[derive(Debug)] pub struct Tick; pub trait GetBar{fn get_bar(self)-VecBar; } #[derive(Debug)] pub struct Bar{open:f64,close:f64,min:f64,max:f64, } impl Bar{pub fn new() -Self{Bar { open: 0.0, close: 0.0, min: 0.0, max: 0.0 }} } 其中ffi.rs文件内容如下 use std::os::raw::{c_int,c_double}; extern C{fn abs(num:c_int) -c_int;fn sqrt(x:c_double) -c_double; } #[no_mangle] pub extern C fn rfn_for_c(){println!(call from rust fn abs :{},unsafe{abs(-6)});println!(call from rust fn sqrt :{},unsafe{sqrt(36.0)}); }此外在上面rusttoc库中在src目录下除了有lib.rs文件还有一个bar文件夹在这个文件夹下还有3个.rs文件其中包括一个mod.rs文件。 很显然mod.rs是把data.rs和ffi.rs综合在一起对外开放的文件。 而lib.rs是在rusttoc这个层次综合起来的一个对外开放的文件。 当然如果一个库中包含若干个子库那也会存在多个不同层次的lib.rs的文件。 二、use来管理库内容的对外开放 在每层mod.rs和lib.rs文件中要通过use来约束对外开放的程度和范围。 mod.rs文件 pub mod ffi; pub mod data; pub use ffi::rfn_for_c; pub use data::{Bar,GetBar};//这里设置Tick不暴露lib.rs文件 pub mod bar; pub use bar::*;在mod.rs中通过pub use来约束ffi.rs和data.rs在此库对外开放或暴露的范围在这里为rfn_for_c函数以及Bar,以及GetBar。而没有进来的Tick则表明不对外开放暴露。 在lib.rs层次再次明确对外开放的层次使用use表统一表明各个mod.rs或子lib.rs的统一对外开放。 如果没有use安排以上均会处于关闭状态均无法以本地库或外地库的方式来调用。当然在use前还要声明一下各mod。 三、另外一种方式include 除了mod.rs,lib.rs之外还有一种特别的导入形式即include。它可以把不同形式文件的内容导入到当到的工作空间。 下面在test文件夹下放了两个不同后缀的文件。 songroomstaff-NB-146:~/myffi/test$ ls -R .: bind.rs const.txtbind.rs #[derive(Debug)] struct Student{name : String,age:i32, }const.txt const MIN_VALUE:f64 30000.0_f64;四、调用库和include导入 另一个rust 二进制工程文件中有main.rs如下 include!(../../test/bind.rs); include!(../../test/const.txt); pub use rusttoc::*; struct Strategy; //实现本地库中的trait impl GetBar for Strategy{fn get_bar(self)-VecBar{vec![Bar::new()]} }fn main() {let student Student{name: wowotuo.to_string(),age:18};//let tick Tick;let bar Bar::new();let strategy Strategy;println!(bar:{:?},bar);println!(strategy -get_bar:{:?},strategy.get_bar());//调用trait//let tick Tick; //因为mod.rs中没有开放Tick的访问权限故不能访问//println!(tick:{:?},tick);println!(student :{:?},student);rfn_for_c();println!(const :{:?},MIN_VALUE);println!(Hello, world!); }另外在这个工程下cargo.toml文件应加下如下部分表明需要导入本地库并指明相应的路径 [dependencies.rusttoc] path ../rusttoc #库的位置这样就是main.rs中导入了rusttoc库以及include了两个文件进来了。 songroomstaff-NB-146:~/myffi/work/src$ cargo run --releaseCompiling work v0.1.0 (/home/songroom/myffi/work)Finished release [optimized] target(s) in 1.68sRunning /home/songroom/myffi/work/target/release/work bar:Bar { open: 0.0, close: 0.0, min: 0.0, max: 0.0 } strategy -get_bar:[Bar { open: 0.0, close: 0.0, min: 0.0, max: 0.0 }] student :Student { name: wowotuo, age: 18 } call from rust fn abs :6 call from rust fn sqrt :6 const :30000.0 Hello, world!上面分别实现本地库中trait,调用了const,相关函数和struct等。
http://www.w-s-a.com/news/851839/

相关文章:

  • 哪个网站做免费广告好招牌图片效果图设计制作
  • 网站建设优化服务机构苏州市做网站
  • 网站如何优化流程企业网站管理系统视频教程
  • 我想克隆个网站 怎么做贵州住房和城乡建设厅官网
  • 网站建设项目前景上海今天新闻综合频道
  • 做网站推销的如何谈客户wordpress怎么做商城
  • 摄影素材库网站服装页面设计的网站
  • 如何用国外网站做头条做个游戏app的费用大概多少
  • 网站 形象入口页福州网站建设网络公司排名
  • 免费下载教学设计的网站送网站建设管理信息内容审核制度
  • 外贸专业网站的公司百度旗下13个app
  • 物理组简介 网站建设高师院校语言类课程体系改革与建设 教学成果奖申报网站
  • 爱网站无法登录怎么回事手表网
  • 网站建设公司现在还挣钱吗山西手动网站建设推荐平台
  • 重庆建设工程交易信息网站网站制作公司起名
  • 东莞寮步做网站的有吗企业宣传册制作
  • 做网站的软件是哪个上蔡做网站
  • 前后端分离实现网站开发紧急通知网页升级
  • 河北专业网站建设公司推荐佛山小程序开发平台
  • 网站开发强制开启浏览器极速模式建设网站有什么风险
  • 360全景网站建设常州专业网站建设公司咨询
  • 重庆大渡口网站建设网站增加一体化建设功能的好处
  • 网站开发完整视频网站上传 404
  • 自适应网站做推广北京建设工程招标网
  • 外贸网站设计注意事项网上商城官网入口
  • 正规的营销型网站建设公司微官网是网站吗
  • 南京行业门户网站无锡阿里巴巴做网站
  • 河北省和城乡住房建设厅网站wamp wordpress打不开
  • 在哪个平台做网站比较好自动app优化
  • 有没有能帮人快速网站备案的机构个人学做网站