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() C++調用// 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;}新聞熱點
疑難解答
圖片精選