2 个版本
使用旧的 Rust 2015
0.1.1 | 2019年2月3日 |
---|---|
0.1.0 | 2018年1月7日 |
#12 in #calling
49KB
961 代码行
Luajit RS
用于从 Rust 与 LuaJIT 交互的包,用于运行高性能的 Lua 代码,可以与用 Rust 编写的本地代码集成。
入门
#[macro_use]
extern crate luajit;
use luajit::{c_int, State};
fn return_42(state: &mut State) -> c_int {
state.push(42);
1
}
pub fn main() {
let mut state = State::new();
state.open_libs();
state.do_string(r#"print("Hello world!")"#);
state.push(lua_fn!(return_42));
state.set_global("return_42");
state.do_string(r#"print(return_42())"#);
}
lib.rs
:
LuaJIT RS
luajit_rs
是 LuaJIT 项目的简单包装,允许从 Rust 中轻松调用,并具有最小的开销。该包中的大多数函数直接对应于底层的 Lua C API 调用
示例
#[macro_use]
extern crate luajit;
use luajit::{c_int, State};
fn return_42(state: &mut State) -> c_int {
state.push(42);
1
}
pub fn main() {
let mut state = State::new();
state.open_libs();
state.do_string(r#"print("Hello world!")"#);
state.push(lua_fn!(return_42));
state.set_global("return_42");
state.do_string(r#"print(return_42())"#);
}
依赖项
~43KB