071 - 问,lua程序设计(第四部分)笔记四,lua调用c最简单方式

071 - 问,lua程序设计(第四部分)笔记四,lua调用c最简单方式

lua调用c

方式

1、修改源代码。

2、动态库。

函数原型

wps_clip_image-1547

返回值:返回值数量。

参数在栈中从1开始。

示例(直接修改lua代码扩展)

第一步 编译lua解释器

1、创建win32控制台工程;

2、将lua代码加入工程,排除luac.c文件的编译。(或不加入luac.c文件)(lua.c是解释器,luac.c是编译器)。

第二步 添加全局函数扩展

1、linit.c文件中添加如下函数。

071 - 问,lua程序设计(第四部分)笔记四,lua调用c最简单方式_第1张图片

2、让解释器默认打开此函数。

linit.c文件

071 - 问,lua程序设计(第四部分)笔记四,lua调用c最简单方式_第2张图片

编译。

第三步 测试

运行编译出的lua解释器。

wps_clip_image-10623

示例(使用dll扩展)

第一步 创建Win32 dll项目

代码如下:

071 - 问,lua程序设计(第四部分)笔记四,lua调用c最简单方式_第3张图片

第二步 导出luaopen_mylib

wps_clip_image-31948

第三步 测试

071 - 问,lua程序设计(第四部分)笔记四,lua调用c最简单方式_第4张图片

代码

https://github.com/everettjf/luavc

你可能感兴趣的:(071 - 问,lua程序设计(第四部分)笔记四,lua调用c最简单方式)