这是《Lua程序设计》中提到的,但是想成功执行,对于初学Lua的确没那么简单。这里涉及如何如何生成一个动态链接库so文件;Lua5.2中导出函数从LuaL_register变成了LuaL_newlib。对于具体的细节有待深入。这里的模块名是hello_lib, Lua解释器会根据名字找到对应的模块,而后执行其中的 luaopen_XXX方法。

代码:

#include

#include

#include

#include

static int hello_sin(lua_State *L){

double d = luaL_checknumber(L, 1);

lua_pushnumber(L, sin(d));

return 1;

}

static const struct luaL_Reg hello_lib[] = {

{"hello_sin" , hello_sin},

{NULL, NULL}

};

int luaopen_hello_lib(lua_State *L){

luaL_newlib(L, hello_lib);

//luaL_register(L, "hello_lib",hello_lib); // lua 5.1

return 1;

}

在Lua中调用:

local hello = require "hello_lib"

print(hello.hello_sin(1))

执行过程和结果:

Lua 的详细介绍:请点这里

Lua 的下载地址:请点这里

lua调用c 模块linux,Lua 调用自定义C模块相关推荐

  1. linux下载tkinter模块,Linux升级Python提示Tkinter模块找不到解决

    一.安装tkinter 在Linux中python默认是不安装Tkinter模块, [root@li250- ~]# python Python 2.6. (r266:, Feb , ::) [GCC ...

  2. linux rpm找不到命令_linux环境下 python环境import找不到自定义的模块

    linux环境下 python环境import找不到自定义的模块 问题现象: Linux环境中自定义的模块swport,import swport 出错.swport模块在/root/sw/目录下. ...

  3. 演练:创建和注册自定义 HTTP 模块

    本演练演示自定义 HTTP 模块的基本功能. 对于每个请求,都需要调用 HTTP 模块以响应 BeginRequest 和 EndRequest 事件. 因此,该模块在处理请求之前和之后运行. 如果 ...

  4. 【Lua进阶系列】实例lua调用capi

                             [Lua进阶系列]实例lua调用capi     大家好,我是Lampard~~     欢迎来到Lua进阶系列的博客     首先祝大家2021新年 ...

  5. Lua与C语言的互相调用

    本系列相关文章: Flutter 热更新及动态UI生成 Lua 15分钟快速上手(上) Lua 15分钟快速上手(下) Lua与C语言的互相调用 LuaDardo中Dart与Lua的相互调用 Lua底 ...

  6. lua学习01:c调用lua、lua调用c、lua的协程、lua的常见API、lua读取配置文件总结

    文章目录 1.c通过虚拟机和虚拟栈调用lua test-vm.c test-vm.lua 打印效果 2.lua通过虚拟机和虚拟栈调用c lua-tbl.c test-tbl.lua 3.lua的协程 ...

  7. 【Lua 入门基础篇(七)】表模块与包

    文章目录 一.table表 1. 表的构造 2. 表的操作 (1) concat(连接) (2) insert(插入) (3) remove(移除) (4) sort(排序) (5) maxn(最大值 ...

  8. linux lua ide,mac os上开发lua用什么ide

    2016-09-22 回答 一.mac os x中make和gcc命令的安装 在编译lua前需要做的准备工作. 我将lua-5.2.2.tar.gz下载到苹果电脑中,解压后进行编译时,发现我的mac ...

  9. TypeError:“模块”对象不可调用

    File "C:\Users\Administrator\Documents\Mibot\oops\blinkserv.py", line 82, in __init__self. ...

最新文章

  1. 10000+ gif表情包不是梦,get这一篇文就够了!!!小哥哥快到碗里来,再也不怕斗图没有表情包了
  2. java与fabric区块链--fabric-ca-server 注册---(3)
  3. Algs4-1.3.33一个双向队列Deque-双向链表实现
  4. 前端开发的浏览器知识
  5. 问题描述 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底
  6. css 鼠标悬浮样式_【技术】CSS设置链接鼠标(失效)不能点样式
  7. [JOYOI1326] 剑人合一
  8. HDOJ--2066--一个人的旅行
  9. linux整站下载工具
  10. 深度学习Course4第三周Detection Algorithms习题整理
  11. 阿里云云虚拟主机开启安装SSL证书,开启HTTPS访问
  12. 41家对中国市场依赖度最高(依营收占比计算)的美国公司
  13. 防止amazon账号关联,你真需要注意的这些点
  14. CorelDRAW x4提示非法软件产品被禁用解决方法教程
  15. vue2.6.11版本源码运行报错问题处理
  16. 夜神模拟器adb查看log
  17. bootstrapCDN地址
  18. SSD6 exercise1 解题思路
  19. 【论文翻译】Toward Learning Trustworthily from Data Combining Privacy, Fairness, and Explainability_【4】
  20. 微信群视频代理服务器,在微信群里发大于20M的视频,方法竟然这么简单

热门文章

  1. Oracle RAC环境下如何定位并杀掉最终阻塞的会话
  2. 故障诊断:12cR2 Flex ASM 环境中节点启动失败的诊断和分析
  3. 打造运维大脑:翼支付高速发展背后,甜橙金融的云化智能演进
  4. 12.2 新特性:RMAN 自动恢复到 REDO 终点的步骤简化
  5. 一文详细分析公式树开源库
  6. 边缘计算是流行词还是风口?开发者怎样选开源项目?
  7. 十八般武艺玩转GaussDB(DWS)性能调优:Plan hint运用
  8. 【华为云技术分享】如何使用pyCharm与ModelArts公有云服务联动开发,快速且充分地利用云端GPU计算资源
  9. 沈志康奖教金 计算机学院,天大60名青年才俊获首届沈志康奖教金
  10. 红橙Darren视频笔记 自定义View总集篇