• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

lua中调用c++函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
// average.cpp : Defines the entry point for the console application.
//

#include 
"stdafx.h"
#include 
<stdio.h>

extern "C" {

 #include 
"lua.h"

 #include 
"lualib.h"

 #include 
"lauxlib.h"

}

/* 指向Lua解释器的指针 */

lua_State
* L;

static int average(lua_State *L)

{
  
/* 得到参数个数 */

 
int n = lua_gettop(L);

 
double sum = 0;

 
int i;


 
/* 循环求参数之和 */

 
for (i = 1; i <= n; i++)

 {

  
/* 求和 */

  sum 
+= lua_tonumber(L, i);

 }

 
/* 压入平均值 */

 lua_pushnumber(L, sum 
/ n);

 
/* 压入和 */

 lua_pushnumber(L, sum);

  
/* 返回返回值的个数 */

 
return 2;

}


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

{

 
/* 初始化Lua */

 L 
= lua_open();


 
/* 载入Lua基本库 */

 luaL_openlibs(L);


 
/* 注册函数 */

 lua_register(L, 
"average", average);


 
/* 运行脚本 */

 luaL_dofile(L, 
"avg.lua");


 
/* 清除Lua */

 lua_close(L);


 
/* 暂停 */

 printf( 
"Press enter to exit…" );

 getchar();


 
return 0;

}

avg.lua:

-- call a C++ function
avg, sum = average(10, 20, 30, 40, 50)
print("The average is ", avg)

print("The sum is ", sum) 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Lua 脚本发布时间:2022-07-22
下一篇:
Lua学习系列(五)发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap