激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Lua - C語言中通過LUA API訪問LUA腳本變量的簡單例子

C語言中通過LUA API訪問LUA腳本變量的簡單例子

2020-04-16 13:38腳本之家 Lua

這篇文章主要介紹了C語言中通過LUA API訪問LUA腳本變量的簡單例子,需要的朋友可以參考下

1.簡介

這一節(jié)介紹一些關(guān)于棧操作、數(shù)據(jù)類型判斷的LUA API,可以使用這些函數(shù)獲得腳本中的變量值。

2.步驟

編寫 test01.lua 腳本,在VS2003中創(chuàng)建控制臺C++程序并正確配置,執(zhí)行查看結(jié)果,修改test02.lua腳本后查看執(zhí)行結(jié)果

3.測試腳本

以下是用來測試的lua腳本

復(fù)制代碼 代碼如下:

function plustwo(x)   
      local a = 2;   
      return x+a;
end;
rows = 6;
cols = plustwo(rows);

上面的腳本定義了一個(gè)函數(shù)、兩個(gè)全局變量(LUA腳本變量默認(rèn)是全局的)。之后的C++程序中,我們將通過棧操作獲得這兩個(gè)變量 rows, cols。

 

4.控制臺程序

 

復(fù)制代碼 代碼如下:

#include <iostream>

 

extern "C"
{
    #include "lua.h"
    #include "lauxlib.h"
    #include "lualib.h"
}

using namespace std;

int main(int argc, char* argv[])
{
    cout << "01_Read_Stack" << endl;

    /**//* Create a LUA VMachine */
    lua_State *L = lua_open();
    luaopen_base(L);
    luaopen_table(L);
    luaL_openlibs(L);
    luaopen_string(L);
    luaopen_math(L);

    int iError;
    iError = luaL_loadfile(L, "../test01.lua");
    if (iError)
    {
        cout << "Load script FAILED!" << lua_tostring(L, -1)<< endl;
        lua_close(L);
        return 1;
    }
    iError = lua_pcall(L, 0, 0, 0);
    if (iError)
    {
        cout << "pcall FAILED"<< lua_tostring(L, -1)<< iError<< endl;
        lua_close(L);
        return 1;
    }
   
    lua_getglobal(L, "rows");
    lua_getglobal(L, "cols");

    if (!lua_isnumber(L, -2))
   {
        cout << "[rows] is not a number" << endl;
        lua_close(L);
        return 1;
    }
    if (!lua_isnumber(L, -1))
    {
        cout << "[cols] is not a number" << endl;
        lua_close(L);
        return 1;
    }
    cout << "[rows]"
         << static_cast<int> (lua_tonumber(L, -2))
         << "[cols]"
         << static_cast<int> (lua_tonumber(L, -1))
         << endl;

    lua_pop(L,2);
    lua_close(L);
    return 0;
}

 

延伸 · 閱讀

精彩推薦
  • LuaLua實(shí)現(xiàn)__add方法重載示例

    Lua實(shí)現(xiàn)__add方法重載示例

    這篇文章主要介紹了Lua實(shí)現(xiàn)__add方法重載示例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下 ...

    腳本之家7452020-04-24
  • Lua深入探究Lua中的解析表達(dá)式

    深入探究Lua中的解析表達(dá)式

    這篇文章主要介紹了深入探究Lua中的解析表達(dá)式,對于其語法部分的說明和示例都超詳細(xì),極力推薦此文!需要的朋友可以參考下 ...

    腳本之家3542020-05-05
  • LuaLua中table庫函數(shù)方法介紹

    Lua中table庫函數(shù)方法介紹

    這篇文章主要介紹了Lua中table庫函數(shù)方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下 ...

    腳本之家2502020-04-17
  • LuaLua和C語言的交互詳解

    Lua和C語言的交互詳解

    這篇文章主要介紹了Lua和C語言的交互詳解,Lua和C語言通過棧完成交互,本文結(jié)合代碼實(shí)例詳細(xì)講解了交互的方法,需要的朋友可以參考下 ...

    果凍想3702020-04-14
  • LuaLua教程(二):基礎(chǔ)知識、類型與值介紹

    Lua教程(二):基礎(chǔ)知識、類型與值介紹

    這篇文章主要介紹了Lua教程(二):基礎(chǔ)知識、類型與值介紹,本文講解了Hello World程序、代碼規(guī)范、全局變量、類型與值等內(nèi)容,需要的朋友可以參考下 ...

    腳本之家5922020-04-28
  • LuaLua簡介、編譯安裝教程及變量等語法介紹

    Lua簡介、編譯安裝教程及變量等語法介紹

    這篇文章主要介紹了Lua簡介、編譯安裝教程及變量等語法介紹,本文同時(shí)講解了lua注釋語法、Lua命令行方式等內(nèi)容,需要的朋友可以參考下 ...

    junjie3632020-04-14
  • LuaLua中計(jì)算、執(zhí)行字符串中Lua代碼的方法

    Lua中計(jì)算、執(zhí)行字符串中Lua代碼的方法

    這篇文章主要介紹了Lua中計(jì)算、執(zhí)行字符串中Lua代碼的方法,類似JavaScript中eval函數(shù)的功能,在Lua中也可以實(shí)現(xiàn),需要的朋友可以參考下 ...

    腳本之家6322020-04-30
  • LuaLua中的元方法__newindex詳解

    Lua中的元方法__newindex詳解

    這篇文章主要介紹了Lua中的元方法__newindex詳解,本文講解了查詢與更新、監(jiān)控賦值、通過table給另一個(gè)table賦值等內(nèi)容,需要的朋友可以參考下 ...

    笨木頭8872020-04-09
主站蜘蛛池模板: 全黄毛片 | 欧美一区中文字幕 | 无码专区aaaaaa免费视频 | 午夜久久久精品一区二区三区 | 国产69精品久久久久9999不卡免费 | 一级黄色免费电影 | 久久国产精品久久久久久电车 | 手机在线看片国产 | 在线播放亚洲视频 | 永久免费不卡在线观看黄网站 | 99欧美精品| 国产精品久久久久久久久久电影 | 97超级碰碰人国产在线观看 | 成人羞羞在线观看网站 | 国产精品久久久久久久亚洲按摩 | 国产精品久久二区 | 亚洲99影视一区二区三区 | 99精品视频网站 | 国产激情视频在线 | 欧美中文字幕一区二区三区亚洲 | 欧美一级爱爱 | 噜噜噜影院| 午夜视频色 | 久久草在线观看视频 | 伦理三区| 男女污污视频网站 | 成人免费看片a | 久久撸视频 | 黄色特级一级片 | 27xxoo无遮挡动态视频 | 欧美日韩亚洲视频 | 国产亚洲精品成人 | 国产一区精品在线观看 | 成人午夜免费观看 | 久啪视频 | 久久综合综合 | 噜噜噜影院 | 羞羞网站视频 | 欧美亚洲免费 | 国产精品成人久久久久a级 欧美特黄一级高清免费的香蕉 | 国产成年人视频 |