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

移动互联网站建设凡科官网免费制作小程序

移动互联网站建设,凡科官网免费制作小程序,平面设计的网站有哪些网站,wordpress主题btimerust调用C端的库函数,有很多方法。今天介绍通过cc库,通过build生成脚本的方式,实现rust调用c端库函数。 1、相关准备: 在ffi目录下,创建了c_part和rust_ffi文件夹。 c_part下放了ctools.c文件,里面有一些…

rust调用C端的库函数,有很多方法。今天介绍通过cc库,通过build生成脚本的方式,实现rust调用c端库函数。

1、相关准备:
在这里插入图片描述
在ffi目录下,创建了c_part和rust_ffi文件夹。 c_part下放了ctools.c文件,里面有一些库函数,需要让rust调用。当然,ctools.c也可以放在其它地方,只需要后面的地址一致即可以。

2、cargo toml部分
在这里插入图片描述这里需要注意:

build="build.rs"
libc ="0.2"
cc ="0.2"

有一些依赖和说明。
3、ctools.c

// ctools.c 代码
int add(int i,int j){return i+j;
}
int two_times(int input){return input*2;
}
int three_times(int input){return input*3;
}

4、build.rs文件

extern crate cc;fn main(){cc::Build::new().file("../c_part/ctools.c").compile("libctools.a");}

需要注意的是,file中ctool.c文件地址一定要准确,否则会有如下报错信息(但没有明示说路径不对,找不到文件之类)。报错可能如下(下面标红处路径是故意写错路径的情况):
在这里插入图片描述5、rust端:main.rs

extern crate libc;
use libc::c_int;
extern "C" {fn add(i:c_int,j:c_int)  ->c_int;fn two_times(input:c_int) ->c_int;fn three_times(input:c_int) ->c_int; 
}fn main() {println!("Hi guys, welcome rust ffi !");let twotimes_value:i32 = unsafe{two_times(-8)};println!("twotimes_value  : {:?}",twotimes_value);let add_value = unsafe{add(2,3)};println!("add_value       : {:?}",add_value);let threetimes_value = unsafe{three_times(3)};println!("threetimes_value: {:?}",threetimes_value);
}

引入libc库,以及c_int类型。

6、cargo build
如果配置正确,在rust_ffi目录下(build.rs所在目录),运行cargo build:在这里插入图片描述可见build成功。

7、cargo run

在这里插入图片描述相关结果表明,rust端已经正确调用了ctools.c中几个库函数。
注意的是,因为已经是ffi调用,均需要加unsafe。

http://www.dt0577.cn/news/55944.html

相关文章:

  • 唐山建设网站制作东莞seo外包平台
  • 新浪门户网站是谁做的商业推广费用一般多少
  • 网站原创文章在哪里找网站软件推荐
  • 建企业网站 硬件淘宝关键词推广
  • 做网站需要买多大空间dw网页制作详细步骤
  • 网站建设怎样核算搜狗广告联盟
  • 昆明网站建设公司推荐seo外包优化
  • 做视频网站空间要多大营销推广策略
  • h5手机网站发展趋势免费关键词优化排名软件
  • 低价网站建设教程网络推广优化方案
  • 可以接项目做的网站百度应用下载安装
  • 用wordpress建站案例网络竞价推广开户
  • 做静态网站接单百度认证证书
  • 带紫色箭头做网站软件百度竞价是什么
  • 第三方做公司网站百度竞价排名广告定价鲜花
  • python做电子商务网站杭州网站推广优化
  • 英国做deal的网站做个电商平台要多少钱
  • 怎么用新浪云做网站泰州seo排名扣费
  • 不用下载直接浏览的网站个人推广平台
  • 数码产品网站模板南昌seo实用技巧
  • 找别人做网站可靠吗天津网站优化公司
  • 江津做电子商务网站重庆网站seo好不好
  • 360浏览器屏蔽某网站怎么做百度广告收费标准
  • 自己 做网站app优化建议
  • 怎么给网站做支付接口seo在线培训机构
  • 杭州专业网站建设公司樱花bt引擎
  • 有专门做英文字幕的网站吗企业培训课程设计
  • 不参与网站建设的弊端百度手机助手下载
  • 一个网站锚文本可以做几个个人建站
  • dw网页制作教程个人网站企业文化培训