资源简介
现在最新版本lua,lua-5.2.3。
代码片段和文件信息
/************************************************************************/
/* C/C++调用lua函数*/
/* url = http://blog.csdn.net/pizi0475/article/details/5398497 */
/************************************************************************/
#include
#include
#include
#include
extern “C“
{
#include “lua.h“
#include “lualib.h“
#include “lauxlib.h“
};
using namespace std;
/************************************************************************/
//函数功能:调用lua函数
//函数参数:
// L lua虚拟机
// x
// y
//函数返回:
// sum
//核心函数 lua_call()
/*
调用一个函数。
要调用一个函数请遵循以下协议: 首先,要调用的函数应该被压入堆栈; 接着,把需要传递给这个函数的参数按正序压栈;
这是指第一个参数首先压栈。 最后调用一下 lua_call; nargs 是你压入堆栈的参数个数。 当函数调用完毕后,所有的参数以及函数本身都会出栈。
而函数的返回值这时则被压入堆栈。 返回值的个数将被调整为 nresults 个, 除非 nresults 被设置成 LUA_MULTRET。
在这种情况下,所有的返回值都被压入堆栈中。 Lua 会保证返回值都放入栈空间中。
函数返回值将按正序压栈(第一个返回值首先压栈), 因此在调用结束后,最后一个返回值将被放在栈顶。
被调用函数内发生的错误将(通过 longjmp)一直上抛。
*/
/************************************************************************/
int luaadd(lua_State *L int x int y)
{
int sum;
/*通过名字获取Lua函数*/
lua_getglobal(L“add“);
/*向栈中压入第一个参数*/
lua_pushnumber(Lx);
/*向栈中压入第二个参数*/
lua_pushnumber(Ly);
/*调用函数*/
lua_call(L21);
/*得到结果
把给定索引处的 Lua 值转换为 lua_Integer 这样一个有符号整数类型。
这个 Lua 值必须是一个数字或是一个可以转换为数字的字符串否则,lua_tointeger 返回 0 。*/
sum = (int)lua_tointeger(L-1);
/*从堆栈中弹出 n 个元素*/
//n
lua_pop(L1);
return sum;
}
int main()
{
int sum;
/*初始化lua虚拟机*/
lua_State *L = luaL_newstate();
/*载入lua基本库*/
luaL_openlibs(L);
/*载入脚本*/
luaL_dofile(L“./script/test.lua“);
/*调用lua函数*/
sum = luaadd(L1015);
/*显示结果*/
cout<<“The sum = “< /*清除lua虚拟机*/
lua_close(L);
/*显示结果并暂停*/
cout<<“Press enter to exit…“< getchar();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2219 2014-08-27 09:06 main.cpp
目录 0 2014-08-26 16:11 sc
文件 38 2014-08-26 16:11 sc
相关资源
- 王者透视自瞄.lua
- grpc-lua CentOS 7.4 执行程序打包
- 用lua写一份阴历阳历互转
- Synthesis and biological evaluation of cytotox
- Luaplus 53 Vs2015编译 通过 附使用说明
- LuaStudio7.23 完美破解版本
- Evaluation Quality of the Elderly‘s Living E
- Programming_in_Lua_4th_ed._(2017)_.pdf
- lua-sha2-0.2.0.tar.gz
- Lua语言编程 中文版
- 《Programming in Lua》中文版
- lua程序设计第一版+第四版
- lua源码欣赏--云风 高清pdf
- Lua Programming Gems 英文版 pdf,高清
- luaide 免费版 0.3.7
- Lua Programming Gems 高清书签
- Programming in Lua(4th) 无水印pdf
- pc6-vcredist_x86
- luadec解密工具 包含了5.1、5.2、5.3版本
- program in lua 中文版
- air202 mqtt 测试程序
- XILINX开发板ZC706指导手册 Evaluation Bo
- 饥荒mod教程---输入
- Information Retrieval: Implementing and Evalua
- lua游戏ai开发指南 源码
- BabeLua For 2019 V3.2.2.0.zip
- Lua学习游戏AI编程.zip
- 最新天龙LUA
- FundamentalsofUltrasonicNondestructiveEvaluati
- Sublime3及Lua插件
评论
共有 条评论