若要調(diào)用外部Lua腳本,需要使用dofile。

站在用戶的角度思考問題,與客戶深入溝通,找到夏邑網(wǎng)站設(shè)計(jì)與夏邑網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋夏邑地區(qū)。
這很像C語(yǔ)言中的 #include“”
用法:dofile ("路徑")
==================
--File:E:\lua1.lua
dofile ("Hello.lua")
print(a)
==================
--File: E:\Hello.lua
a = 100
==================
==輸出==
100
programming in lua 有相關(guān)的例子,一般腳本語(yǔ)言和c/c++之類的互相調(diào)用分兩類,一類是擴(kuò)展,就是將c/c++模塊封裝起來給腳本語(yǔ)言用,用swig做封裝很方便的,一類是嵌入,就是在c/c++等應(yīng)用中嵌入lua引擎,一般是用來分離經(jīng)常變化的邏輯部分,比如WOW就是用lua語(yǔ)言作為擴(kuò)展,用戶可以編寫lua腳本來完成一些特定功能的機(jī)器人。你要做的就是使用lua c api來在你的程序中執(zhí)行l(wèi)ua。類似這種:
int iErr = 0;
lua_State *lua = lua_open (); // Open Lua
luaopen_io (lua); // Load io library
if ((iErr = luaL_loadfile (lua, "test.lua")) == 0)
{
// Call main...
if ((iErr = lua_pcall (lua, 0, LUA_MULTRET, 0)) == 0)
{
// Push the function name onto the stack
lua_pushstring (lua, "helloWorld");
// Function is located in the Global Table
lua_gettable (lua, LUA_GLOBALSINDEX);
lua_pcall (lua, 0, 0, 0);
}
}
lua_close (lua);
負(fù)載 loadx是一個(gè)Lua模塊,可提供更好的load()。 用法 該模塊提供以下功能: loadx(chunk, [, chunkname [, mode [, upvalues...]]]) 加載一個(gè)塊。 此功能類似于Lua的本機(jī)load ,并且具有以下差異: 如果結(jié)果函數(shù)具有upvalues,則將upvalues設(shè)置為upvalues的值(如果指定了該參數(shù))。 如果沒有給出第一個(gè)升值,則將其設(shè)置為全局環(huán)境。 (當(dāng)加載一個(gè)主塊時(shí),結(jié)果函數(shù)將始終只具有一個(gè)升值_ENV變量。但是,當(dāng)您加載從一個(gè)函數(shù)創(chuàng)建的二進(jìn)制塊(例如string.dump )時(shí),結(jié)果函數(shù)可以具有任意數(shù)量的升值)。 有關(guān)chunk , chunk chunkname和mode的定義,請(qǐng)參見本機(jī)load 。 來自本地load所有警告可能適用。 也可以看看: load : , 。 string.dump :
你可能感興趣的資源
LUA模塊源碼
lua模塊源碼。提供腳本初級(jí)命令,有需要的可自行添加
Lua 模塊與包
模塊類似于一個(gè)封裝庫(kù),從 Lua 5.1 開始,Lua 加入了標(biāo)準(zhǔn)的模塊管理機(jī)制,可以把一些公用的代碼放在一個(gè)文件里,以 API 接口的形式在其他地方調(diào)用,有利于代碼的重用和降低代碼耦合度。 Lua 的模塊是由變量、函數(shù)等...
Lualoadstring函數(shù)用法實(shí)例
主要介紹了Lua loadstring函數(shù)用法實(shí)例,loadstring最典型的用處是去執(zhí)行外部代碼,也就是位于程序之外的代碼,需要的朋友可以參考下 Lua中的loadfile、dofile、loadstring、require用法實(shí)例 主要介紹了Lua中的loadfile、dofile、loadstring、requir...
lua模塊調(diào)用測(cè)試
lua 模塊調(diào)用,vs2012版本,實(shí)現(xiàn)了簡(jiǎn)單的調(diào)用功能
lua實(shí)例:任務(wù)模塊
lua任務(wù)模塊代碼,提供給大家學(xué)習(xí)lua語(yǔ)法,及繼承思想
Lua和C/C++互相調(diào)用實(shí)例分析
下面對(duì)lua和c/c++的交互調(diào)用做一個(gè)實(shí)例分析: lua提供了API用于在c/c++中構(gòu)造lua的運(yùn)行環(huán)境,相關(guān)接口如下: //創(chuàng)建lua運(yùn)行上下文 lua_State* luaL_newstate(void) ; //加載lua腳本文件 int luaL_loadfile(lua_State *L, const ...
Lua腳本-C工具類資源-CSDN文庫(kù)
lua-5.2.1.tar.gz(71個(gè)子文件) lua-5.2.1 Makefile3KB src lzio.c2KB lgc.c36KB lua.c14KB loadlib.c21KB lstring.h1KB ldump.c3KB lfunc.c4KB ldo.h1KB Makefile6KB linit.c2KB ...
nginx,lua模塊安裝
nginx的lua模塊安裝
易語(yǔ)言lua的例子
易語(yǔ)言lua的例子,靜態(tài)易語(yǔ)言調(diào)用LUA51.DLL和模塊
lua-其它代碼類資源-CSDN文庫(kù)
lua,Lua:Go中用于Lua的VM和編譯器。edundxluaforkgopher-luaporject,這是一個(gè)用Go編寫的Lua5.1VM和編譯器。GopherLua與Lua的目標(biāo)相同:成為一種具有可擴(kuò)展語(yǔ)義的腳本語(yǔ)言。它提供了GoAPI,使您可以輕松地將腳本語(yǔ)言嵌入到Go宿主程序中。...
lua-5.3.4安裝包-其它代碼類資源-CSDN文庫(kù)
lua.hpp191B loadlib.c23KB lcorolib.c4KB Makefile7KB lualib.h1KB lfunc.c4KB ltable.c19KB lzio.h1KB lstring.h1KB ldebug.h1KB lstring.c6KB llex.h2KB lstrlib.c46KB
易語(yǔ)言Lua支持庫(kù)
易語(yǔ)言Lua支持庫(kù)源碼,Lua支持庫(kù),GetNewInf,lua_ProcessNotifyLib,建立全局信息,內(nèi)部_附加功能主函數(shù),函數(shù)改C調(diào)用約定,加載內(nèi)存庫(kù),取內(nèi)存DLL函數(shù)地址,調(diào)用內(nèi)存函數(shù),到子程序指針,取子程序地址,取指針地址,取文本指針,...
一個(gè)用lua寫的游戲腳本實(shí)例
一個(gè)用lua寫的游戲腳本實(shí)例,是word格式的,值得一看,通過這個(gè)例子你可以了解到游戲中的腳本是怎么寫的
一個(gè)比較好的LUA斷點(diǎn)測(cè)試工具
一個(gè)比較好的LUA斷點(diǎn)測(cè)試工具一個(gè)比較好的LUA斷點(diǎn)測(cè)試工具一個(gè)比較好的LUA斷點(diǎn)測(cè)試工具一個(gè)比較好的LUA斷點(diǎn)測(cè)試工具
易語(yǔ)言LUA支持庫(kù)1.0#0版(第三方)
這是一組全局函數(shù),當(dāng)您在您的應(yīng)用程序中實(shí)現(xiàn)一個(gè)能被LUA調(diào)用的函數(shù)時(shí)候,需要用到這些函數(shù)。主要是數(shù)據(jù)交換相關(guān)。包含 LUA取參數(shù)數(shù)目、LUA取參數(shù)類型、LUA取參數(shù)值、LUA加返回值、LUA擴(kuò)展棧。后續(xù)版本可能會(huì)根據(jù)...
Lua中的loadfile、dofile、loadstring、require用法實(shí)例
主要介紹了Lua中的loadfile、dofile、loadstring、require用法實(shí)例,需要的朋友可以參考下
emoji.lua:Lua的基本表情符號(hào)支持模塊
表情符號(hào) :speech_balloon:Lua的基本表情符號(hào)支持模塊 :crescent_moon:例子 local emoji = require ( " emoji " )print (emoji. emojify ( " I :heart: :tea:! " ))-- "I :red_heart: :teacup_without_handle:!...
LuaForWindows_v5.1.5-52 安裝包
Lua 是一個(gè)小巧的腳本語(yǔ)言。作者是巴西人。該語(yǔ)言的設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。 Lua腳本可以很容易的被C/C++代碼調(diào)用,也可以反過來調(diào)用C/C++的函數(shù),這使得Lua在應(yīng)用...
single-dir.lua:將 Lua 模塊的所有依賴收集到一起
要使用目錄“single-dir-out/modules”中的模塊運(yùn)行 Lua 應(yīng)用程序, LUA_CPATH按如下方式設(shè)置LUA_PATH和LUA_CPATH : $ export LUA_PATH= " modules/?.lua;modules/?/init.lua " $ export LUA_CPATH= " modules/?....
DMC-Lua-Library:一組很棒的 Lua 模塊
DMC Lua 庫(kù)這個(gè)庫(kù) repo 只是我其他 repos 中 Lua 模塊的集合,所以它只是一個(gè)方便的地方來獲取和更新所有這些。 我積極使用所有模塊在服務(wù)器(使用 )和移動(dòng)設(shè)備(使用 Corona SDK)上構(gòu)建應(yīng)用程序。 文檔在每個(gè)相應(yīng)...
lua iconv For windows
本來以為很簡(jiǎn)單 結(jié)果找了半天發(fā)現(xiàn)都是很坑爹的辦法 linux下可以直接安裝luaiconv windows下呢 只好自己編了 本來想找個(gè)別人寫好的 發(fā)現(xiàn)根本找不到 更坑爹的是 我用eclipse的LDT開發(fā) 結(jié)果發(fā)現(xiàn)它的lua vm沒辦法加載c庫(kù)...
lua-amalg:Lua模塊的合并
lua-amalg:Lua模塊的合并
xlsxwriter.lua, 用于創(chuàng)建 Excel XLSX文件的lua模塊.zip
xlsxwriter.lua, 用于創(chuàng)建 Excel XLSX文件的lua模塊 用于Lua的 Xlsxwriter用于創(chuàng)建 Excel XLSX... xlsxwriter模塊Xlsxwriter是一個(gè)Lua模塊,可以用于將文本。數(shù)字。公式和超鏈接寫入 Excel 2007 + XLSX文件中的多個(gè)工
lua-newmodule:使 Lua 模塊和 init.lua 變得簡(jiǎn)單
提出了一種更好、更簡(jiǎn)單的定義模塊的方法(沒有 module() 函數(shù)!)。 請(qǐng)參閱: : 。 在 Lua 5.2 中刪除了 module() 函數(shù)。 見 更多關(guān)于 Lua 模塊? 您應(yīng)該閱讀以下文章: 基基托寫道: I wrote about ...
lua 5.3.5 windows預(yù)編譯exe/dll文件 lua5.3.5.win.zip
lua5.3(32位/64位)windows 預(yù)編譯(exe/DLL) adding: lua5.3.5-x86/lua.exe (in=14336) (out=7311) (deflated 49%) adding: lua5.3.5-x86/lua.o (in=24873) (out=9654) (deflated 61%) adding: lua5.3.5-x86/lua...
ISO14229-1中文
國(guó)際統(tǒng)一診斷標(biāo)準(zhǔn)ISO14229-1中文
Vulkan編程指南.pdf
Vulkan編程指南高清版,內(nèi)容可復(fù)制,非常實(shí)用.
反編譯工具 dll to c
能夠把DLL轉(zhuǎn)換成可編譯的C或C++代碼。親測(cè)可用,無病毒。
USB type C 16Pin
在畫PCB板的時(shí)候,如果沒有元器件的3d封裝會(huì)很難受,typec接口在繪制PCB經(jīng)常會(huì)用到,但是網(wǎng)上關(guān)于typec的3D封裝很少,就算有,絕大部分都是24pin的引腳的,16p的引腳特別難找到,博主我也是花了好長(zhǎng)時(shí)間才找到的。如果各位急需typec16pin的封裝,但是又沒有積分下載的話,可以去淘寶上搜索 “CSDN下載” 只需要 1毛錢 就可以下載。
基于stm32水質(zhì)監(jiān)測(cè)系統(tǒng)(畢設(shè))
基于stm32水質(zhì)監(jiān)測(cè)系統(tǒng)(畢設(shè))
評(píng)論
調(diào)試lua現(xiàn)有的幾種方案:
1)luaedit : 編輯斷點(diǎn)和斷點(diǎn)命中查看那些都讓習(xí)慣用vs的人感到親切,但是它只是在純lua環(huán)境下的編輯器,也就是說和期望程序運(yùn)行中能借用它來調(diào)試腳本可能性不大(至少我沒有試驗(yàn)出來),能用上的需要給lua腳本做個(gè)main腳本函數(shù),并提供一系列偽的c api(由lua實(shí)現(xiàn)的函數(shù),只提供制定值的返回)。由luaedit啟動(dòng)腳本main函數(shù)進(jìn)行調(diào)試
2)利用 lua debug 庫(kù)中的 hook ,然后記錄一張斷點(diǎn)位置表,設(shè)置行模式的 hook ,每次進(jìn)入 hook 都檢查是否是斷點(diǎn)處,若是就停下來等待交互調(diào)試。這個(gè)方法有效,但是很消耗 cpu 。因?yàn)槊窟M(jìn)入一個(gè)新的代碼行,都需要回調(diào)一個(gè)函數(shù)。當(dāng)這個(gè)函數(shù)本身又是用 lua 寫的時(shí)候,效率更低。
3)利用lua腳本函數(shù)實(shí)現(xiàn),在lua腳本中封裝一個(gè)斷點(diǎn)函數(shù),這種方式結(jié)合debug庫(kù)實(shí)現(xiàn)斷點(diǎn)和棧信息,然后利用lua環(huán)境下的表對(duì)函數(shù)調(diào)用信息進(jìn)行記錄和打印,需要腳本使用者顯式提供斷點(diǎn)函數(shù)的調(diào)用。這個(gè)辦法的優(yōu)點(diǎn)自己可以組合出適合自己項(xiàng)目的斷點(diǎn)調(diào)試方案。但缺點(diǎn)是相對(duì)繁瑣,而且斷點(diǎn)命中以后難以和現(xiàn)有方式融合
當(dāng)前文章:go語(yǔ)言調(diào)用lua腳本 golang調(diào)用lua
網(wǎng)頁(yè)URL:http://chinadenli.net/article12/dodhdgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、ChatGPT、品牌網(wǎng)站設(shè)計(jì)、建站公司、網(wǎng)站內(nèi)鏈、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)