📄 work.cpp
字号:
// work.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <lua.hpp>
#include <process.h>
#include <stdlib.h>
lua_State *L;
void error(lua_State *L,const char *fmt,...)
{
va_list argp;
va_start(argp,fmt);
vfprintf(stderr,fmt,argp);
va_end(argp);
lua_close(L);
system("PAUSE");
exit(EXIT_FAILURE);
}
double f(int argnum,...)
{
double z;
double a;
lua_getglobal(L,"sum");
va_list arg;
va_start(arg,argnum);
for(int i=0;i<argnum;i++)
{
a=va_arg(arg,int);
lua_pushnumber(L,a);
}
va_end(arg);
if (lua_pcall(L,argnum,1,0)!=0)
{
error(L, "error running function'sum':%s",lua_tostring(L,-1));
}
if (!lua_isnumber(L,-1))
{
error(L,"function 'sum' must return a number");
}
z=lua_tonumber(L,-1);
lua_pop(L,1);
return z;
}
int _tmain(int argc,_TCHAR* argv[])
{
L=luaL_newstate();
luaL_openlibs(L);
if(luaL_loadfile(L,"sum.lua") || lua_pcall(L,0,0,0))
{
error(L,"cannot run lua script. file:%s",lua_tostring(L,-1));
}
printf("%f\n",f(7,2,3,5,4,3,2,1)); //1.个数 2... 各个数字
lua_close(L);
system("PAUSE");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -