lual_dofile ();不会用c++和Lua加载脚本
lual_dofile(); wont load script with C++ and Lua
你好,我想让这个代码工作
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");
hole程序编译,但不执行脚本,也不显示运行lua脚本的任何视觉反馈以前有人遇到过这个问题吗?你知道为什么吗?**
你似乎有几件事不明白。
luaL_loadfile
从文件中加载脚本,编译它,但是它不而运行它。它只是把它推送到Lua堆栈,这样你就可以用任何你认为合适的参数来运行它。
luaL_dofile
从文件中加载脚本,编译它,和运行它,从而将脚本弹出堆栈。
在错误的情况下,luaL_loadfile
将返回一个错误代码,解释它是什么样的错误。如果出现错误,它还会向Lua堆栈推送一条错误消息。如果没有错误发生,则返回0。
同样,如果发生错误,luaL_dofile
将返回1,并且错误消息将在Lua堆栈上。
您应该始终检查这些函数的返回值,看看是否发生了错误,并采取相应的措施
相关文章:
- C++Lua用户数据扰乱了Mathfu浮点值
- 使用 LuaBridge 或 Lua 将对象传递给 Lua 函数C++
- 将 Lua 函数块转换为 C 字符串
- 我可以从 lua 5.0.2 加载用 c++ 编写的 lua 5.3.5 dll 吗?
- 使用 lua 协程 API 和lua_close时出现分段错误
- 使用 C++ 自动 Lua 绑定
- 调用 lua 函数的地址为 C/C++?
- lua 5.0.2 模块和 5.3.5 有什么区别?
- 如何将 Lua 添加到C++项目
- 使用 Lua 中的C++库对象
- 如何在C++中将用户数据从一个 Lua 块传递到另一个块
- 如何使用重新定义的打印函数打印Lua表?
- Lua table in C++ dll
- 在运行时环境中使用 C++ w/ Lua
- 将shared_ptr传递给Lua
- luaL_len is missing in Lua 5.1
- 将向量传递给<struct> Lua 表
- 将 Lua 与 C++ DLL 结合使用
- Lua C API - 从C++分配和使用类的对象成员
- C++中最接近 Lua 表操作的东西是什么?