C++ 技术中心

   :: 首页 :: 联系 ::  :: 管理
  160 Posts :: 0 Stories :: 87 Comments :: 0 Trackbacks

公告

郑重声明:本BLOG所发表的原创文章,作者保留一切权利。必须经过作者本人同意后方可转载,并注名作者(天空)和出处(CppBlog.com)。作者Email:coder@luckcoder.com

留言簿(27)

搜索

  •  

最新随笔

最新评论

评论排行榜

1. 下载地址www.lua.org
2. 安装
3.新建工程,加入Lua\5.1\lib中的lib库,及路径,并且加入include路径。
4.新建add.lua文件
 

function add ( x, y )


    
return x + y


end

#include "stdafx.h"


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



lua_State
* L;





int luaadd ( int x, int y ) 

    
int sum;
    
/* lua中的函数 */ 
    lua_getglobal(L, 
"add");
    
    
/* 压入虚拟栈的第一个值 */
    lua_pushnumber(L, x);
    
    
/* 第二个值 */
    lua_pushnumber(L, y);
    
    
/* 调用传入的两个值,并返回一个结果 */
    lua_call(L, 
21);
    
    
/*得到结果 ,由于返回类型不同 这里要显示的强制转换*/
    sum 
= (int)lua_tointeger(L, -1); 
    
    lua_pop(L, 
1); 
    
return sum; 
}



int _tmain(int argc, _TCHAR* argv[])
{

    
int sum;
    
    
/* Lua初始化*/ 
    L 
= lua_open();
    
    
/*加载lua基本库 */ 
    luaL_openlibs(L); 
    
    
/*加载文件add.lua */ 
    luaL_dofile(L, 
"add.lua");
    
    
/* 调用加法的方法 */
    sum 
= luaadd( 20050 );
    
    
/*打印结果 */ 
    printf( 
"The sum is %d\n", sum );
    lua_close(L); 
    printf( 
"Press enter to exit" );
    getchar();
    
    
return 0
}

5.cpp文件如下:
posted on 2013-04-22 14:33 C++技术中心 阅读(1457) 评论(0)  编辑 收藏 引用 所属分类: C++ 基础

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理