试用FFI

2018-02-26  本文已影响0人  上帝想看电影

FFI库,允许从纯Lua代码调用外部C函数,使用C数据结构。
FFI库最大限度的省去了使用C手工编写繁重的Lua/C绑定的需要。不需要学习一门独立/额外的绑定语言——它解析普通C声明。

代码

#include <stdio.h>

void print_hello()
{
      print("hello lua from c");
}

local ffi = require("ffi")
local C = ffi.load("HelloC")

ffi.cdef[[
void print_hello();
]]

c.print_hello()

编译

# 编译C代码,环境 mac,如果是linux,--shared
gcc -c -g -O0 -Wall -I./  -o print_hello.o print_hello.c
gcc -dynamiclib -g -O0 -Wall -o libHelloC.dylib print_hello.o
#用luajit执行脚本
luajit main.lua

打印结果

hello lua from c
上一篇 下一篇

猜你喜欢

热点阅读