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
运行情况如下:
本次采用链接到动态链接库方式编译,这样生成的程序比较小,若要复制程序,需连同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
后续新建新的c代码文件,可以使用make 名称进行编译。
make 源代码名称