# C-Cpp Lua 内嵌示例工程 **Repository Path**: stevesimon999/c-cpp-embedded-lua ## Basic Information - **Project Name**: C-Cpp Lua 内嵌示例工程 - **Description**: 本项目通过导入Lua源码,可以自己编译成静态库的方式对原生Lua环境进行改动,并在C/C++项目中演示了如何获取Lua栈、运行脚本和操作Lua栈 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2023-09-11 - **Last Updated**: 2025-08-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C_C++ Lua内嵌示例工程 #### 介绍 本项目通过导入Lua源码,可以自己编译成静态库的方式对原生Lua环境进行改动,并在C/C++项目中演示了如何获取Lua栈、运行脚本和操作Lua栈 #### 软件架构 1. lua项目:Lua命令行启动器,依赖lualib 2. luac项目:在C/C++中调用Lua,依赖lualib 3. lualib项目;Lua源代码,其中testlib.c是自己添加的文件,用于在Lua环境中注入C代码 #### 安装教程 1. vs版本为2019 2. 将lualib编译为静态库 3. 设置luac和lua引用lualib #### 使用说明 1. 设置lua为启动项目运行,会启动Lua命令行模式 2. 设置luac为启动项目运行,可运行示例代码 3. 示例代码分为四个部分,分别是: 1. 运行注入到Lua环境中的c代码 2. 通过栈操作更改Lua环境(_G)、运行Lua函数 3. 通过栈操作注册C函数到当前Lua栈,C函数获获取Lua栈参数并返回参数到Lua栈 ![Lua命令行](1.JPG) ![示例代码](2.JPG)