• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            c++調(diào)用lua例子

             

            http://blog.csdn.net/bhwst/archive/2010/07/29/5774746.aspx

             

            VC要編譯LUA文件必須先配置VC編程環(huán)境。。我用的是VC6.0,lua 5.1.4版

            首先將lua的"lua.h" ,"lualib.h", "lauxlib.h" 這三個(gè)放在vc程序include文件夾下

            然后將lua的lua5.1.lib放在lib文件夾下就OK了

            下面看看我寫(xiě)的一個(gè)小例子:

            a.cpp

            view plaincopy to clipboardprint?

            #include "windows.h"

            extern "C"{

            #include "lua.h"

            #include "lualib.h"

            #include "lauxlib.h"

            }

            #pragma comment(lib,"lua5.1.lib")

            lua_State * L;

            static int clib(lua_State *L) //給lua調(diào)用的c函數(shù)必須定義成static int XXX(lua_State *L)

            {

            char path[MAX_PATH];

            GetCurrentDirectory(MAX_PATH,path);

            lua_pushstring(L,path);

            return 1; //為什么要返回1?這是有依據(jù)的,該函數(shù)把結(jié)果壓入了棧,lua調(diào)用該函數(shù)將從棧中

            //取1個(gè)結(jié)果

            }

            int main ( int argc, char *argv[] )

            {

            int sum;

            //創(chuàng)建一個(gè)指向lua解釋器的指針

            L = luaL_newstate();

            //加載lua標(biāo)準(zhǔn)庫(kù)

            luaL_openlibs(L);

            //注冊(cè)C++函數(shù)

            lua_register(L,"clib",clib);

            //加載腳本

            luaL_dofile(L,"4.lua");

            //調(diào)用函數(shù)

            lua_getglobal(L,"run");

            //運(yùn)行函數(shù)并把結(jié)果壓入棧

            lua_pcall(L,0,0,0);

            //關(guān)閉并釋放資源

            lua_close(L);

            return 0;

            }

            #include "windows.h"

            extern "C"{

            #include "lua.h"

            #include "lualib.h"

            #include "lauxlib.h"

            }

            #pragma comment(lib,"lua5.1.lib")

            lua_State * L;

            static int clib(lua_State *L) //給lua調(diào)用的c函數(shù)必須定義成static int XXX(lua_State *L)

            {

            char path[MAX_PATH];

            GetCurrentDirectory(MAX_PATH,path);

            lua_pushstring(L,path);

            return 1; //為什么要返回1?這是有依據(jù)的,該函數(shù)把結(jié)果壓入了棧,lua調(diào)用該函數(shù)將從棧中

            //取1個(gè)結(jié)果

            }

            int main ( int argc, char *argv[] )

            {

            int sum;

            //創(chuàng)建一個(gè)指向lua解釋器的指針

            L = luaL_newstate();

            //加載lua標(biāo)準(zhǔn)庫(kù)

            luaL_openlibs(L);

            //注冊(cè)C++函數(shù)

            lua_register(L,"clib",clib);

            //加載腳本

            luaL_dofile(L,"4.lua");

            //調(diào)用函數(shù)

            lua_getglobal(L,"run");

            //運(yùn)行函數(shù)并把結(jié)果壓入棧

            lua_pcall(L,0,0,0);

            //關(guān)閉并釋放資源

            lua_close(L);

            return 0;

            }

            4.lua文件

            view plaincopy to clipboardprint?

            function run()

            print("call running from c")

            print(clib())

            end

            function run()

            print("call running from c")

            print(clib())

            end

            這個(gè)例子實(shí)現(xiàn)了C與lua的相互調(diào)用。。另外,還可以把我前面一篇lua調(diào)用C dll的內(nèi)容整合在一起。。

            本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/bhwst/archive/2010/07/29/5774746.aspx

            posted on 2010-12-27 12:57 肥仔 閱讀(2303) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 腳本語(yǔ)言

            日韩欧美亚洲综合久久影院d3| 国内精品久久久久久久coent| 亚洲欧美国产日韩综合久久| 国产精品欧美亚洲韩国日本久久 | 狠狠色丁香久久婷婷综合图片| 久久久久久噜噜精品免费直播| 久久黄视频| 国产成人香蕉久久久久| 久久综合给合综合久久| 精品久久久久久国产| 久久国产高潮流白浆免费观看| 久久99精品久久久久久| 久久久久久国产精品免费免费| 青青青青久久精品国产h久久精品五福影院1421| 久久精品中文闷骚内射| 久久精品无码av| 久久综合九色欧美综合狠狠| 无码专区久久综合久中文字幕| 久久精品国产网红主播| 久久天天躁夜夜躁狠狠 | 久久夜色精品国产噜噜麻豆 | 激情久久久久久久久久| 免费无码国产欧美久久18| 亚洲乱码中文字幕久久孕妇黑人| 99麻豆久久久国产精品免费| 久久青青草原精品国产软件| 性欧美大战久久久久久久久 | 免费无码国产欧美久久18| 色8激情欧美成人久久综合电| 国产美女久久精品香蕉69| 亚洲国产成人乱码精品女人久久久不卡 | av国内精品久久久久影院| 青青青青久久精品国产h久久精品五福影院1421| 国产女人aaa级久久久级| 少妇久久久久久久久久| 日本精品久久久久影院日本 | 久久综合给合综合久久| 久久99免费视频| 国产精品丝袜久久久久久不卡| 日韩乱码人妻无码中文字幕久久| 久久综合视频网站|