c调用lua 出错异常处理
学习lua不久,遇到了问题,,请大家帮忙:
问题:访问了错误的lua函数程序崩溃的解决方法。
先上代码:
lua脚本(为了测试问题,故意写错)
c++调用一个lua,试图去访问lua函数,lua中又没有此函数,(有时会出现此问题,访问了错误的lua文件,)
在此情况下,程序会崩溃,调试环境vs2012 、 lua52.dll 、 64位win7
(访问了错误的lua文件,怎么防止程序崩溃)
先谢谢大家了
问题:访问了错误的lua函数程序崩溃的解决方法。
先上代码:
#include <stdio.h>
#include <assert.h>
#include <exception>
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
/*Lua解释器指针*/
lua_State* L;
int main ( int argc, char *argv[] )
{
L = luaL_newstate();
luaL_openlibs(L);
int iError = luaL_dofile(L, "test.lua");
lua_close(L);
int a = 11 ;
int b = 12 ;
(lua_getglobal(L,"add"));
if (lua_pcall(L, 0, 0, 0))
{
printf("Error calling lua function error");
}
lua_pushinteger(L,a) ;
lua_pushinteger(L,b) ;
int ret = lua_pcall(L,2,1,0) ;
if ( ret != 0 )
return 0;
printf("sum:%d + %d = %ld\n",a,b,lua_tointeger(L,-1)) ;
lua_pop(L,1);
/* 清除Lua */
lua_close(L);
getchar();
return 0;
}
lua脚本(为了测试问题,故意写错)
--变量定义
width=1 ;
height=2 ;
--lua函数定义,实现加法
function sum(a,b)
return a+b ;
endc++调用一个lua,试图去访问lua函数,lua中又没有此函数,(有时会出现此问题,访问了错误的lua文件,)
在此情况下,程序会崩溃,调试环境vs2012 、 lua52.dll 、 64位win7
(访问了错误的lua文件,怎么防止程序崩溃)
先谢谢大家了
...全文
相关推荐
lua2 我的学习资料lua2 我的学习资料lua2 我的学习资料lua2 我的学习资料lua2 我的学习资料
lua2 我的学习资料lua2 我的学习资料lua2 我的学习资料lua2 我的学习资料
lua-5.3.4_Win64_bin.zip
lua-5.3.4_Win64_bin.zip Windows64位,编译好的lua,直接用
C语言中调用Lua函数实例
主要介绍了C语言中调用Lua函数实例,本文讲解了调用一个Lua函数的步骤和C语言调用Lua函数实例,需要的朋友可以参考下
lua和c语言之间相互调用实例
lua和c语言之间相互调用实例
lua 调用 c++ dll 示例
lua 调用 c++ dll 示例 vs2010 编写的,这个例子很简单哦!


