目录

lua-C语言api学习1-编译第一个程序

lua C语言api学习1 编译第一个程序

本文开始进行lua C语言api的学习

1 简介

lua语言与C语言使用还是很紧密,以前我只是学习lua语言比较多,C语言api部分了解比较少,最近在学习tcc编译器的使用进一步学习一下lua C语言api的使用。

2 配置编译环境

首先需配置好tcc编译器环境 ,再配置好lua源码路径 ,新建一个C:\run\test\lua- Capi目录,后续主要在该路径下编程,复制之前的tcc编程环境.bat到当前目录,对其进行修改,更改如下,主要增加一个lua_src变量设置为lua源码路径。 ::将编辑器路径设置到path变量 set path=C:\run\tcc;%path% ::设置lua源码路径 set lua_src=C:\run\test\lua-5.4.7\src ::启动命令行 cmd 其次,需复制之前lua源码路径下之前编译好的动态链接库文件lua.dll和导出文件lua.def到当前目录,方便后续使用。

3 编写第一个程序

第一个程序01hello_lua.c如下 //01hello_lua.c //第一个基本程序 #include #include //载入lua相关头文件 #include “lua.h” #include “lauxlib.h” #include “lualib.h” int main() { //创建一个新的lua状态 lua_State* L = luaL_newstate(); // 创建标准库 luaL_openlibs(L); // 解析并执行Lua脚本字符串 luaL_dostring(L, “print(‘Hello, Lua!’)”); // 关闭Lua线程 lua_close(L); return 0; } 相对还是比较简单.

3 编译第一个程序

打开tcc编程环境.bat,输入以下命令。 ::编译程序 tcc -I %lua_src% lua.def 01hello_lua.c -o 01hello_lua.exe ::执行程序 01hello_lua 运行情况如下: https://i-blog.csdnimg.cn/direct/9c6e8e039b664f5eb1752949056eb0fa.png 本次采用链接到动态链接库方式编译,这样生成的程序比较小,若要复制程序,需连同lua.dll一起复制。

4 编写Makefile文件

从上面编译命令看,还是比较复杂,容易输错,我将上面编译指令编写为Makefile文件,如下。

学习lua C语言api的Makefile文件

lua源码路径

lua_src=C:\run\test\lua-5.4.7\src

显示帮助

help: echo 用法为make [源码名称]

编写通用编译指令

%代表匹配任何输入参数,这里主要为源码名称

$@代表匹配表示生成的目标文件,这里为源码名称

%: @tcc -I $(lua_src) lua.def $@.c -o $@.exe @echo —–$@.exe生成成功—- @echo —–运行$@.exe程序—- @./$@ 输入下面指令即可编译并运行程序。 make 01hello_lua https://i-blog.csdnimg.cn/direct/5887ba5782b241e29fbe51fcb3f064bf.png 后续新建新的c代码文件,可以使用make 名称进行编译。 make 源代码名称