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

常州网站建设思创网络/营销型网站策划

常州网站建设思创网络,营销型网站策划,外贸独立网站建设公司,网站 速度 测试rust调用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.jmfq.cn/news/5340871.html

相关文章:

  • 丽江北京网站建设/百度高级搜索入口
  • 成都建设网站报价/百度总部在哪里
  • 网站建设方面书籍/自助建站网站哪个好
  • ASP动态商业网站建设案例/网络舆情分析报告模板
  • 上海定制网站建设/搜一搜
  • 指定网站长期建设 运营计划/link友情买卖
  • 动态网站建设实训心得/营销咨询
  • 龙华企业网站建设公司/站长之家备案查询
  • 印刷网站建设 优帮云/seo是什么部门
  • 建设网站 法律责任/免费收录网站推广
  • 政府网站建设情况报告/深圳网络推广培训学校
  • 上海知名的网站建设公司/关系网站优化公司
  • 家居网站建设营销推广/360关键词排名推广
  • 苏州城乡建设网站/网站在线生成app
  • 网站建设美国/站长工具高清吗
  • 网站建设费属于无形资产吗/ip网站查询服务器
  • 网站建设工作要求/朋友圈营销
  • 网站建设的内容要怎么写/河北seo技术交流
  • 为什么网站建设价格不一/佛山网站搜索排名
  • 遵义城乡住房建设厅网站/电子商务营销的概念
  • 政协网站建设申请函/整合营销策略
  • 机关网络 网站 建设/googleplay官网
  • 广州技术支持:网站建设/上海网站设计公司
  • 手机投注网站建设/企业网站管理系统
  • 网站建设费需要列入无形资产吗/淘宝运营团队怎么找
  • 单位网站建设存在问题情况汇报/代写文章的平台有哪些
  • 网站建设标准一/网页设计与制作软件
  • 苏州大学网站建设/短视频培训机构排名
  • 怎么建设推广网站/武汉百度开户代理
  • 新网网站建设资料/网络热词