#include "stdafx.h"
#include "windows.h"
extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
#pragma comment(lib,"core.lib")
#pragma comment(lib,"standard.lib")
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函数 */
lua_register(L,"average",average);
/* 执行LUA文件 */
luaL_dofile(L,"test.lua");
/* 关闭LUA */
lua_close(L);
printf( "Press enter to exit!" );
getchar();
return 0;
}
test.lua内容为:
avg, sum = average(10, 20, 30, 40, 50)
print("The average is ", avg)
print("The sum is ", sum)
这是我在网上抄下来的,不过它没有包含我自己编译的两个LIB,是因为我两个LIB的问题吗
运行之后没反应,直接就是Press enter to exit!希望会LUA的朋友指点一下,谢谢!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课