1.首先安装LUA 下载Lua:http://www.lua.org/download.html 安装Lua —— 这里安装的是 Lua 5.1.4 2 VS2012 新建一个 HelloLua空项目 打开“HelloLua项目属性”——“通用配置”——”VC++目录“ 修改其中的可执行文件目录,包含目录、库目录分别修改如下(添加如下文件路径):
可执行文件目录:D:/Lua/5.1 包含目录:D:/Lua/5.1/include 库目录:D:/Lua/5.1/lib3 使用Lua
LUA代码
function mylua() PRint("mylua") ADD(1,2) ADD(3,4) endC++调用
// TestLua.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"using namespace std;#include <iostream>#include <stdio.h> /////////////////下面是必须要加的extern "C" {#include <lua.h>}extern "C" { #include <lualib.h> #include <lauxlib.h> } #if defined (_DEBUG) #pragma comment( lib, "lua5.1.lib" ) // Lua Support #else#pragma comment( lib, "lua51.lib" ) // Lua Support #endif////不引用上面的lib会导致无法解析的外部符号错误lua_State* L; int add(lua_State* L); int add(lua_State* L) { //从L栈中取出索引为1的数值,并检查 int x = luaL_checkint(L,1); //从L栈中取出索引为2的数值,并检查 int y = luaL_checkint(L,2); printf("result:%d/n",x+y); return 1; } int _tmain(int argc, _TCHAR* argv[]) { //初始化全局L L = luaL_newstate(); //打开库 luaL_openlibs(L); //把函数压入栈中 lua_pushcfunction(L, add); //设置全局ADD lua_setglobal(L, "ADD"); //加载我们的lua脚本文件 if (luaL_loadfile(L,"D://mylua.lua")) { printf("error/n"); } //安全检查 lua_pcall(L,0,0,0); //push进lua函数 lua_getglobal(L, "mylua"); lua_pcall(L,0,0,0); printf("hello my lua/n"); system("pause"); return 0; }简单调用方法
#include <iostream>extern "C"{ #include "lua.h" #include "lualib.h" #include "lauxlib.h"}#if defined (_DEBUG) #pragma comment( lib, "lua5.1.lib" ) // Lua Support #else#pragma comment( lib, "lua51.lib" ) // Lua Support #endifint main(){ lua_State *L = lua_open(); luaL_openlibs(L); luaL_dofile(L, "learn.lua"); lua_close(L); return 0;}新闻热点
疑难解答
图片精选