1.新建控制台專案
2.勾選空專案,靜態庫。
2.標頭檔案匯入原始碼中的全部.h 標頭檔案,原始檔匯入原始碼的的.c檔案,除 lua.c 和 luac.c外
3.編譯生成lib
1.新建控制台專案,專案//屬性//c/c++常規//附加包含目錄//新增lua原始檔所在的目錄
2.鏈結器//常規//附加庫目錄//新增 lua.lib所在的目錄
3.鏈結器//輸入//附加依賴項// 新增 lua.lib
1.新建hello.lua,testrequire.lua
--hello.lua
package.path = package.path.
.";d:/desktop/201231/win32project1/debug/?.lua"
;local test = require "testrequire"
;local aa =
add();
print
(aa)
;--testrequire.lua
function add()
return3;
end
2.新建main.cpp
#include
#include
#include
#pragma comment(lib, "lua5.3.lib")
#include
using
namespace std;
extern
"c"void
main()
luaopen_base
(l);
// 載入lua基本庫
lual_openlibs
(l);
// 載入lua通用擴充套件庫
//2.載入lua檔案
int bret =
lual_loadfile
(l,"d:\\desktop\\201231\\win32project1\\debug\\hello.lua");
if(bret)
//3.執行lua檔案
bret =
lua_pcall
(l,0,0
,0);
if(bret)
//7.關閉state
lua_close
(l);
return
;}
切記執行lua前,一定要載入lua基本庫及通用擴充套件庫,否則帶有「require」語句的lua指令碼無法被執行,很多大佬部落格中都沒有講這點。
新建socket.lua
local socket = require "socket"
local tcp = socket.
tcp();
local host =
"127.0.0.1"
local port =
50000
local clint = tcp:
connect
(host,port)
;
新建main.cpp
#include
#include
#include
#pragma comment(lib, "lua5.3.lib")
#include
using
namespace std;
extern
"c"void
main()
luaopen_base
(l);
// 載入lua基本庫
lual_openlibs
(l);
// 載入lua通用擴充套件庫
//2.載入lua檔案
int bret =
lual_loadfile
(l,"d:\\desktop\\201231\\win32project1\\debug\\socket.lua");
if(bret)
//3.執行lua檔案
bret =
lua_pcall
(l,0,0
,0);
if(bret)
//7.關閉state
lua_close
(l);
return
;}
發現執行c++工程後會提示
.
/socket.lua:
12: module 'socket.core'
not found
lua與C 互動 配置檔案
背景 我們可以將一些常常改動的資料寫到lua檔案中去,就不用每次在程式更改了乙個小資料的時候就要重新編譯整個專案。我們可以將這個工程裡面寫好解析指令碼的功能就可以啦 例項 我們可以在config.lua檔案中寫到。config.lua檔案 width 1000 height 6000然後在c 程式裡...
Lua與C 互動初探之C 呼叫Lua
lua與c 互動初探之c 呼叫lua 一 lua環境的搭建 他包括以下元件 lua examples 包含lua使用的一些例子。luaforwindows documentation luaforwindows這款軟體的一些說明 quickluatour lua快速入門嚮導,沒什麼用,看看就好 do...
Lua與C 互動初探之C 呼叫Lua
一 lua環境的搭建 他包括以下元件 lua examples 包含lua使用的一些例子。luaforwindows documentation luaforwindows這款軟體的一些說明 quickluatour lua快速入門嚮導,沒什麼用,看看就好 scite lua的乙個不錯的文字編輯器。...