二:
1:新建控制台应用程序,包含源码目录,为了方便以后应用,将lib文件改名“lua.lib",源码文件放入单一文件夹;
2:在工程属性中"附加包含目录“包含lua源码目录,博主这里放在C盘。
3:"附加依赖项" 包含 lib,记得放置在当前工作目录下,别忘记了。(提醒自学编程的同学)
三:开始最后一步,堆代码啦。。
C++代码如下:
#include "stdafx.h" #include <iostream> extern "C" { #include <lua.h> #include <lualib.h> #include <lauxlib.h> } lua_State *L; static int frist_lua(lua_State * L) { int num =lua_tonumber(L,1); std::cout<<num<<std::endl; lua_pushstring(L,"Hello Lua"); return 1; } int _tmain(int argc, _TCHAR* argv[]) { L= luaL_newstate(); //注册一个状态机 luaL_openlibs(L); //加载lua库 lua_register(L,"frist_lua",frist_lua); luaL_dofile(L,"C:\\hellolua.lua"); //加载lua脚本 lua_close(L); //释放虚拟机 getchar(); return 0; } |
lua代码:
local hello = frist_lua(1)
print(hello)
运行结果:
最后提醒下,真正的应用lua与c++交互 还有很多第三方插件,这里推介几款:
lua tinker(lua5.0开发出来的插件,据说是韩国人,随着更新5.1还能用,5.2就不能用了网上流传作者不知道去哪里了,好在广大的程序猴们自己动手丰衣足食,5.2改动了下可以用了,下载地址如下,包含lib和库即可) 博主就用的这个,比较不错。
tolua++
使用MIT license。