程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Lua 跟 C++ 的交互

Lua 跟 C++ 的交互

編輯:C++入門知識

Lua 和 C++ 是這樣交互的

亂七八糟的前戲:
1. 到官網下載 Lua 文件 可參考 -> Lua 下載與配置
2. 設置環境 可參考 -> VS 配置Lua環境


交互過程有:
1. C++ 訪問 Lua 的變量
2. C++ 調用 Lua 的函數
3. Lua 訪問 C++ 的變量
4. Lua 訪問 C++ 的函數


No code say a j8


C++ 調用 Lua

#include 
#include 

// 引入Lua必要的頭文件,Version: Lua5.1.5
extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
};

using namespace std;

// C++ 調用 lua 
int main()
{
	//初始化全局L
	lua_State *L = luaL_newstate();

	//打開庫
	luaL_openlibs(L);

	//加載lua腳本文件
	if (luaL_loadfile(L,"LuaFile\\lua.lua"))   // lua.lua 的路徑,這裡使用相對路徑
	{
		printf("file load error\n");
	}

	lua_pcall(L,0,0,0);    // 加載 Lua 文件

	lua_getglobal(L, "l_str");  // get, 將L指向 lua文件中的函數 l_str 

	lua_pcall(L,0,1,0);		// 執行指針L指向的函數,將結果返回到棧頂, (0,1,0) 表示 (輸入個數,輸出個數,其他處理)

	string strVersion = luaL_checkstring(L,1);   // 從棧頂獲取元素
	cout<


Lua 調用 C++

#include 
#include 

// 引入Lua必要的頭文件,Version: Lua5.1.5
extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
};

using namespace std;


// 將lua中的變量,通過這個函數打印出來
int c_Print(lua_State* L)	// 返回值為壓入棧中元素的個數	
{
	// 從參數列表中,獲取元素
	string strVersion = luaL_checkstring(L,1);

	cout<
運行結果:



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved