• <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

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            c++調用lua例子

             

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

             

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

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

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

            下面看看我寫的一個小例子:

            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調用的c函數必須定義成static int XXX(lua_State *L)

            {

            char path[MAX_PATH];

            GetCurrentDirectory(MAX_PATH,path);

            lua_pushstring(L,path);

            return 1; //為什么要返回1?這是有依據的,該函數把結果壓入了棧,lua調用該函數將從棧中

            //取1個結果

            }

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

            {

            int sum;

            //創建一個指向lua解釋器的指針

            L = luaL_newstate();

            //加載lua標準庫

            luaL_openlibs(L);

            //注冊C++函數

            lua_register(L,"clib",clib);

            //加載腳本

            luaL_dofile(L,"4.lua");

            //調用函數

            lua_getglobal(L,"run");

            //運行函數并把結果壓入棧

            lua_pcall(L,0,0,0);

            //關閉并釋放資源

            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調用的c函數必須定義成static int XXX(lua_State *L)

            {

            char path[MAX_PATH];

            GetCurrentDirectory(MAX_PATH,path);

            lua_pushstring(L,path);

            return 1; //為什么要返回1?這是有依據的,該函數把結果壓入了棧,lua調用該函數將從棧中

            //取1個結果

            }

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

            {

            int sum;

            //創建一個指向lua解釋器的指針

            L = luaL_newstate();

            //加載lua標準庫

            luaL_openlibs(L);

            //注冊C++函數

            lua_register(L,"clib",clib);

            //加載腳本

            luaL_dofile(L,"4.lua");

            //調用函數

            lua_getglobal(L,"run");

            //運行函數并把結果壓入棧

            lua_pcall(L,0,0,0);

            //關閉并釋放資源

            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

            這個例子實現了C與lua的相互調用。。另外,還可以把我前面一篇lua調用C dll的內容整合在一起。。

            本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/bhwst/archive/2010/07/29/5774746.aspx

            posted on 2010-12-27 12:57 肥仔 閱讀(2315) 評論(0)  編輯 收藏 引用 所屬分類: 腳本語言

            国产精品久久久久免费a∨| 蜜臀av性久久久久蜜臀aⅴ麻豆| 人妻无码久久一区二区三区免费| 久久久无码精品亚洲日韩京东传媒| 亚洲国产小视频精品久久久三级 | 国产精品美女久久久久AV福利| 亚洲成av人片不卡无码久久 | 久久久WWW成人| 亚洲国产精品无码久久| 欧美亚洲国产精品久久蜜芽| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久精品免费全国观看国产| 久久精品国产亚洲精品2020 | 99热精品久久只有精品| 久久久亚洲欧洲日产国码是AV| 99久久精品国产毛片| 7777精品久久久大香线蕉| 久久夜色精品国产www| 久久精品成人免费网站| 欧美大香线蕉线伊人久久| 一本久久免费视频| 久久久久亚洲AV成人网人人软件 | 久久久久亚洲AV无码观看| 国产日韩久久免费影院| 国产精品无码久久久久久| 超级碰碰碰碰97久久久久| 久久国产精品免费一区| 丁香久久婷婷国产午夜视频| 狠色狠色狠狠色综合久久| 久久久久久亚洲Av无码精品专口 | 久久综合久久久| AAA级久久久精品无码片| 日韩精品无码久久久久久| 久久久久久久波多野结衣高潮| 午夜精品久久影院蜜桃| 少妇久久久久久被弄到高潮| 韩国三级中文字幕hd久久精品 | 狠狠色丁香久久婷婷综| 伊人热人久久中文字幕| 久久久精品波多野结衣| 亚洲а∨天堂久久精品|