Crates.io | luajit2-sys |
lib.rs | luajit2-sys |
version | 0.0.2 |
source | src |
created_at | 2020-01-19 06:48:42.566747 |
updated_at | 2020-01-19 21:26:36.127932 |
description | LuaJIT-2.1 FFI Bindings |
homepage | |
repository | https://github.com/aloucks/luajit2-sys |
max_upload_size | |
id | 199979 |
size | 4,245,575 |
[dependencies]
luajit2-sys = "0.0.1"
DEP_LUAJIT_INCLUDE |
Path to the LuaJIT source and headers |
DEP_LUAJIT_LIB_NAME |
Platform specfic lib name (lua51 on Windows and luajit everywhere else) |
use luajit2_sys as sys;
use std::ffi::CStr;
fn main() {
unsafe {
let lua = sys::luaL_newstate();
sys::luaL_openlibs(lua);
let script_data = b"return 1 + 2";
let script_name = b"run_script\0";
sys::luaL_loadbuffer(
lua,
script_data.as_ptr() as _,
script_data.len() as _,
script_name.as_ptr() as _,
);
sys::lua_pcall(lua, 0, 1, 0);
let idx = sys::lua_gettop(lua);
let s = sys::lua_tostring(lua, idx);
let result = CStr::from_ptr(s).to_string_lossy().to_string();
sys::lua_close(lua);
println!("result: {}", result);
}
}