试用FFI

作者: 上帝想看电影 | 来源:发表于2018-02-26 21:00 被阅读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
    

    相关文章

      网友评论

          本文标题:试用FFI

          本文链接:https://www.haomeiwen.com/subject/cfluxftx.html