lua C语言api学习2 在C语言中使用lua语言

本文介绍如何在C语言中使用Lua语言.

1 使用luaL_dostring函数

在C语言中可以容易执行lua脚本,可以将lua脚本直接嵌入到C语言程序中,再使用luaL_dostring进行调用。具体示例如下

c 复制代码
//02使用luaL_dostring函数
#include <stdio.h>
#include <stdlib.h>

// Lua数据类型与函数接口
#include "lua.h" 
// Lua与C交互辅助函数接口    
#include "lauxlib.h" 
// Lua标准库打开接口
#include "lualib.h"  

int main()
{
    // 创建一个新的lua状态
    lua_State* L = luaL_newstate();           
    // 打开标准库
    luaL_openlibs(L);  
	
    // 解析并执行一行Lua脚本字符串,字符串
    luaL_dostring(L, "print('你好')");
	//执行多次运算
	luaL_dostring(L, "a=3");
	luaL_dostring(L, "print(a)");
	//可以一次性执行多行lua脚本
	luaL_dostring(L, "
		--输出1-10
		for i=1,10 do
			print(i)
		end
	");
    // 关闭Lua状态
    lua_close(L);                             
    return 0;
}

运行结果如下

2 使用luaL_dofile函数调用外部lua脚本

luaL_dofile的用法和luaL_dostring用法类似,不同的是luaL_dofile调用的是外部lua脚本,使用也非常简单,具体如下

c 复制代码
//03使用luaL_dofile调用外部lua程序文件
#include <stdio.h>
#include <stdlib.h>

// Lua数据类型与函数接口
#include "lua.h" 
// Lua与C交互辅助函数接口    
#include "lauxlib.h" 
// Lua标准库打开接口
#include "lualib.h"  

int main()
{
    // 创建Lua状态
    lua_State* L = luaL_newstate();           
    // 打开标准库
    luaL_openlibs(L);   
    // 加载并运行当前目录下列的a.lua脚本并
	luaL_dofile(L,"a.lua");

    // 关闭Lua线程
    lua_close(L);                             
    return 0;
}

外部lua文件如下:

lua 复制代码
--这是一个lua程序

function test(x)
	return x^2
end

print("你好,世界")
a=3
print(a)
for i=1,10 do
	print(i)
end

print(test(3))

运行结果如下

相关推荐
NPUQS1 小时前
【Unity 3D学习】Unity 与 Python 互通入门:点击按钮调用 Python(超简单示例)
学习·3d·unity
电子云与长程纠缠8 小时前
Godot学习05 - 播放与分离FBX动画
学习·游戏引擎·godot
蒸蒸yyyyzwd8 小时前
day3学习笔记
笔记·学习
red_redemption9 小时前
自由学习记录(143)
学习
楼田莉子10 小时前
MySQL数据库:MySQL的数据类型
数据库·学习·mysql
小陈phd11 小时前
系统架构师学习笔记(三)——计算机体系结构之存储系统
笔记·学习·系统架构
Rsun0455112 小时前
AI智能体学习路线
人工智能·学习
charlie11451419112 小时前
通用GUI编程技术——Win32 原生编程实战(十六)——Visual Studio 资源编辑器使用指南
开发语言·c++·ide·学习·gui·visual studio·win32
知识分享小能手12 小时前
MongoDB入门学习教程,从入门到精通,MongoDB查询(4)
数据库·学习·mongodb
weixin_4093831212 小时前
godot等轴视角tilemaplayer的学习 isocheric的素材xy大小怎么调
学习·游戏引擎·godot