使用Rust库bindgen之Hello World(附代码)

本文介绍如何利用Rust库bindgen自动生成C语言库的绑定。通过创建工程,编写C代码,配置Rust项目,最终实现调用C函数的功能。详细步骤包括工程创建、C代码实现、Rust部分的bindgen集成和代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Rust库bindgen

本文展示如何使用Rust库bindgenbindgen是一个非常好用的工具,它可以自动地为你的C语言库生成binding。下面我们就开始吧!

创建工程

首先在你要创建工程的地方使用cargo new rust_bindgen_example,该命令会自动生成一个名为 rust_bindgen_example 的工程文件夹,

C部分

src文件夹中分别创建了 hello.chello.h两个文件,其提供了函数hello_from_c()的实现,该函数在标准输出中打印“Hello from C ”。
最后在工程根目录创建 wrapper.h,该文件包含了 hello.h,最后提供给bindgen进行bind。
注:博主将C生成的库文件libhello.a放在了目录build中,见Makefile

Rust部分

创建文件 build.rs文件,其中println!("cargo:rustc-link-search={}", lib_path.display());告诉了Rustc编译器应该在哪里去找库文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值