如何编译安装Lua5.3,实现调用C共享库

本文介绍了如何在CLion中创建C共享库,并在Lua5.3中调用。编译lua5.3时遇到错误,通过添加-fPIC选项解决。在lua中使用C共享库时,发现lua缺少动态库支持,经过重新编译lua,最终成功调用C库。
摘要由CSDN通过智能技术生成

1.简介
最近学习lua时,想编写一个C的共享库,然后在lua中去调用相关函数,于是我在CLion中创建了一个C共享库的工程,代码如下:

library.h

#ifndef LUA_1_LIBRARY_H
#define LUA_1_LIBRARY_H

#include <stdio.h>
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"

static int L_Add(lua_State *L);

int luaopen_libAdd(lua_State *L);

#endif

library.c

#include "library.h"

static int L_Add(lua_State *L) {
    int n = lua_gettop(L);
    if(n < 2)
        return 0;
    long a = luaL_checkinteger(L, 1);
    long b = luaL_checkinteger(L, 2);

    lua_pushnumber(L, a+b);
    return 1;
}

static 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值