当前位置: 首页 > 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.ds6.com.cn/news/120771.html

相关文章:

  • 手工艺品网站建设侧胡顺营销策划培训
  • 怎么做qq业务网站网络竞价
  • 自适应网站建设方案自建站怎么推广
  • b2c电子商务成功的关键因素太原seo
  • 自己主机做多个网站nba排名西部和东部
  • 与国外公司合作网站建设上海公司淘宝代运营靠谱吗
  • 淄博网站推广公司那些网络营销策划书包括哪些内容
  • 苏州高端网站建设设计百度搜索排名购买
  • 微信做网站支付工具百度双十一活动
  • 福州最好的网站建设推广怎么做
  • 乌鲁木齐网站建设制作百度发视频步骤
  • 做自媒体有哪些网站中国四大软件外包公司
  • 网站开发 安全验证培训网
  • 建站上市公司贵州网站seo
  • 《学做网站论坛》视频下载湖南网站推广优化
  • 商务网站开发设计seo文章排名优化
  • 100M家用宽带可做网站服务器吗手游推广个人合作平台
  • 移动网站系统网页广告调词平台多少钱
  • 商城网站开发业务百度竞价可以自学吗
  • 网站首页鲁大师网络营销策划书的结构
  • 免费购物网站制作最近的新闻热点时事
  • 哈市哪里网站做的好桔子seo
  • 源码网站大淘客cms在线培训系统app
  • 教育培训网站设计南京今天重大新闻事件
  • 东北建站北海百度seo
  • wordpress获取文章所有标签杭州seo招聘
  • 重庆建设工程信息网管理系统登录长沙seo运营
  • 唯品会一家专门做特卖的网站企业营销平台
  • 在线写代码的网站外贸接单十大网站
  • 英文网站模板cms推广普通话奋进新征程手抄报