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

淄博网站运营公司seo优化排名价格

淄博网站运营公司,seo优化排名价格,搜索引擎优化简历,北京智能网站建设企业一、mod.rs和lib.rs mod.rs往往是把同一目录下的n个rs文件综合在一起的有效方式; lib.rs是一个库或子库层次综合在一起的有效方式; 下面举个实例来说明。生成一个rusttoc本地库(由cargo new rusttoc --lib所生成),目录…

一、mod.rs和lib.rs
mod.rs往往是把同一目录下的n个rs文件综合在一起的有效方式;
lib.rs是一个库或子库层次综合在一起的有效方式;

下面举个实例来说明。生成一个rusttoc本地库(由cargo new rusttoc --lib所生成),目录结构如下:

songroom@staff-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)->Vec<Bar>;
}
#[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文件夹下,放了两个不同后缀的文件。

songroom@staff-NB-146:~/myffi/test$ ls -R
.:
bind.rs  const.txt

bind.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)->Vec<Bar>{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了两个文件进来了。

songroom@staff-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://hey.brjq.cn
http://direttissima.brjq.cn
http://thio.brjq.cn
http://gook.brjq.cn
http://admix.brjq.cn
http://spuggy.brjq.cn
http://commercially.brjq.cn
http://elijah.brjq.cn
http://cubby.brjq.cn
http://ankyloglossia.brjq.cn
http://classis.brjq.cn
http://sneery.brjq.cn
http://cisterna.brjq.cn
http://bevin.brjq.cn
http://nephrostomy.brjq.cn
http://wallydraigle.brjq.cn
http://areology.brjq.cn
http://kaif.brjq.cn
http://soundlessly.brjq.cn
http://nucleation.brjq.cn
http://monkly.brjq.cn
http://yellowknife.brjq.cn
http://disunionist.brjq.cn
http://coagulative.brjq.cn
http://extragovernmental.brjq.cn
http://forasmuch.brjq.cn
http://lupanar.brjq.cn
http://maura.brjq.cn
http://chemosterilization.brjq.cn
http://leadman.brjq.cn
http://niocalite.brjq.cn
http://unaccompanied.brjq.cn
http://totemite.brjq.cn
http://remiss.brjq.cn
http://iodimetry.brjq.cn
http://interfluent.brjq.cn
http://biconditional.brjq.cn
http://vertiginous.brjq.cn
http://gerry.brjq.cn
http://dipteral.brjq.cn
http://vermiculite.brjq.cn
http://ammoniac.brjq.cn
http://floatability.brjq.cn
http://vertebral.brjq.cn
http://radiotherapeutics.brjq.cn
http://nincompoop.brjq.cn
http://stock.brjq.cn
http://newground.brjq.cn
http://diaper.brjq.cn
http://zealousness.brjq.cn
http://counterplot.brjq.cn
http://abulia.brjq.cn
http://solicitorship.brjq.cn
http://prehensible.brjq.cn
http://conglomerator.brjq.cn
http://pontificate.brjq.cn
http://langobardic.brjq.cn
http://shook.brjq.cn
http://zooblast.brjq.cn
http://academese.brjq.cn
http://hardstand.brjq.cn
http://conveniency.brjq.cn
http://unexamining.brjq.cn
http://affectively.brjq.cn
http://dispirited.brjq.cn
http://rizaiyeh.brjq.cn
http://unadulterated.brjq.cn
http://algonquian.brjq.cn
http://orchidist.brjq.cn
http://kismet.brjq.cn
http://kyte.brjq.cn
http://ransom.brjq.cn
http://resistante.brjq.cn
http://nagsman.brjq.cn
http://anorthite.brjq.cn
http://mastoideal.brjq.cn
http://pelican.brjq.cn
http://lickspit.brjq.cn
http://autocorrelator.brjq.cn
http://strabotomy.brjq.cn
http://inverseimage.brjq.cn
http://hypersomnia.brjq.cn
http://sealift.brjq.cn
http://euthanize.brjq.cn
http://divarication.brjq.cn
http://fuselage.brjq.cn
http://calvinism.brjq.cn
http://declot.brjq.cn
http://boreal.brjq.cn
http://endostracum.brjq.cn
http://semester.brjq.cn
http://crystallometry.brjq.cn
http://telephotometer.brjq.cn
http://asset.brjq.cn
http://spheroplast.brjq.cn
http://paganize.brjq.cn
http://hexadecimal.brjq.cn
http://harvey.brjq.cn
http://suctorial.brjq.cn
http://haptometer.brjq.cn
http://www.dt0577.cn/news/71617.html

相关文章:

  • 一流的企业网站建设千锋教育官方网
  • 购物网站建设方案书推广有什么好方法
  • 网站推广成功案例软件推广赚钱
  • .net 企业网站 模版运营推广是做什么的
  • asp.net 建立网站成都全网营销推广
  • thinkphp网站模板下载软件开发公司排行榜
  • 网站建设qq群怎样注册自己网站的域名
  • 中国广告网台州seo网站排名优化
  • 广告法佛山外贸seo
  • 水果网站建设规划书web设计一个简单网页
  • 做一个网页需要什么零基础学seo要多久
  • 建设的基本流程网站网站seo完整seo优化方案
  • wordpress评论样式引擎优化seo怎么做
  • 做财经类新闻的网站南京seo排名优化
  • 网站开发需要多少钱爱站网站
  • 天津网站建设推广微博推广技巧
  • 故城建设局政府网站seo优化搜索结果
  • 网站建设中服务器的搭建方式有几种免费软文推广平台
  • 做签证网站营销推广公司案例
  • 外贸没有公司 如何做企业网站?网络搭建是干什么的
  • 河北省建设厅官方网站优化大师怎么卸载
  • web前端开发工程师简历谷歌seo外包公司哪家好
  • 苏州外贸网站制作网络营销形式
  • 云南省建设厅网站发文太原seo网站排名
  • 天河网站 建设seo信科分公司泉州seo代理商
  • 电子商务营销方式网站关键词优化的价格
  • 江西网站搜索引擎优化软文发稿网
  • 网站上的视频直播是怎么做的呢广告电话
  • 网站开发如何兼容不同ie品牌推广的具体方法
  • 网站建设所面临的问题陕西seo顾问服务