您好我正在尝试使此代码正常工作
extern "C"
{
#include <lua.h>
#include "lualib.h"
#include "lauxlib.h"
}
#include "glew.h"
#define GLEW_STATIC
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include <stdlib.h>
#include <iostream>
#include <fstream>
////////////////////////
////////////////////////
test.h
void Test(void)
{
    int status;
**//The Lua Interpreter**
lua_State  *L = lua_open();
**//Open Lua Libarys**
luaL_openlibs(L);
**//Run Lua Script**
status = luaL_loadfile(L,"Test.lua");
printf( "actually getting to this point!");
getchar();
//Close Lua
lua_close(L);
}
这个名字叫test.lua这是我的lua文件
print"Whats your name?"
function sleep(n)
end
这不起作用:(
lual_dofile(L, "Test.lua");
孔程序编译,但然后不执行脚本或显示运行的lua脚本的任何视觉反馈有没有人遇到此问题之前?并且知道为什么?**
你似乎不明白一些事情.
luaL_loadfile从文件加载脚本,编译它,但它并没有运行.它只是将它推到Lua堆栈上,这样你就可以使用你认为合适的任何参数来运行它.
luaL_dofile从文件加载脚本,编译并运行它,从而将脚本弹出堆栈.
如果出现错误,luaL_loadfile将返回错误代码,说明它是什么类型的错误.如果出现错误,它还会将错误消息推送到Lua堆栈.如果没有错误发生,则返回0.
同样,luaL_dofile如果发生错误,将返回1,并且错误消息将在Lua堆栈上.
您应始终检查这些函数的返回值,以查看是否发生了错误,并采取相应措施.
| 归档时间: | 
 | 
| 查看次数: | 4193 次 | 
| 最近记录: |