Rust 对于与其他编程语言的互操作性有着出色的支持。这意味着:
- 从其他语言调用 Rust 函数。
- 从 Rust 调用用其他语言编写的函数。
调用C接口库
以windows下Dll库为例。
C库准备
先通过VS生成一个Dll库,对应的C头文件:
#ifdef CEXPORTLIB_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
double real;
double imag;
}Complex;
Complex DLL_API add(Complex first, Complex second);
//Complex DLL_API add(const Complex& first, const Complex& second);
void DLL_API add_self(Complex& first, const Complex& second);
#ifdef __cplusplus
}
#endif
Rust侧调用
1、build脚本
在Cargo.toml中增加build项:
[package

最低0.47元/天 解锁文章
38

被折叠的 条评论
为什么被折叠?



