9 个版本
0.4.1 | 2024年7月29日 |
---|---|
0.4.0 | 2023年6月14日 |
0.3.0 | 2022年4月7日 |
0.2.1 | 2020年11月6日 |
0.1.1 | 2020年10月23日 |
40 在 FFI 中
每月下载量 174
330KB
8K SLoC
M E T A C A L L
一个提供跨语言外部函数接口调用的库
摘要
METACALL 是一个库,允许在编程语言之间调用函数、方法或过程。使用 METACALL,您可以透明地执行任何编程语言的代码,例如,从 Rust 调用 TypeScript 代码。
安装
MetaCall 是一个基于 C 的插件库。这个 crate 将 C 库封装到 Rust 中,因此为了使其工作,您首先应该安装 MetaCall 二进制文件(点击此处 以在其他平台上安装)
curl -sL https://raw.githubusercontent.com/metacall/install/master/install.sh | sh
示例
sum.ts
export function sum(a: number, b: number): number {
return a + b;
}
main.rs
use metacall::{switch, metacall, loaders};
fn main() {
// Initialize Metacall at the top
let _metacall = switch::initialize().unwrap();
// Load the file
loaders::from_single_file("ts", "sum.ts").unwrap();
// Call the sum function
let sum = metacall::<f64>("sum", [1.0, 2.0]).unwrap();
assert_eq!(sum, 3.0);
}
依赖项
~80KB