求助,c调用lua的问题,lua脚本中加了require,调用出错
lua吧
全部回复
仅看楼主
level 1
zhulu323 楼主
func.lua
require("LuaXml")
function get_result(msg,name,oper,arg)
local xfile = xml.eval(msg)
local body = xfile:find("body")
if body ~= nil then
local request = body:find("Request")
if request ~= nil then
local results = request:find("Results")
if results ~= nil then
print (results[1])
local Result = results[1]:find("Result")
if Result ~= nil then
if Result:find("displayName")[1] == "360杀毒" then
if oper == ">=" then
if Result:find("versionNumber")[1] >= arg then
return 1
end
elseif oper == "<=" then
if Result:find("versionNumber")[1] <= arg then
return 1
end
elseif oper == "=" then
if Result:find("versionNumber")[1] == arg then
return 1
end
end
end
end
end
end
end
return 0
end
c程序:

#include <stdio.h>#
include
#include <string.h>#
include
#include <lua.h>#
include #include
char msg[]=" ""id00000x""tdsvc.agentservice""tdsvc.wmimgr""WmiQuery""2012/1/10 10:20:30""""""""SELECT * FROM AntiVirusProduct""""""360.cn""360杀毒""""""{D737F2DE-FA43-4036-AF5B-911612E2D674}""TRUE""""""TRUE""""""3.1.0.3074""""""""""";
int main(int argc,char** argv){ lua_State * l = luaL_newstate() ; if ( l == NULL ) { printf("luaL_newstat() failed"); } int ret = 0 ; ret = luaL_loadfile(l,"func.lua") ; if ( ret != 0 ) { printf("luaL_loadfile failed") ; } ret = lua_pcall(l,0,0,0) ; if ( ret != 0 ) { printf("lua_pcall failed:%s",lua_tostring(l,-1)) ;}
lua_getglobal(l,"get_result"); lua_pushstring(l,msg);lua_pushstring(l,">=");lua_pushstring(l,"3.1"); ret = lua_pcall(l,3,1,0) ; if ( ret != 0 ) { printf("lua_pcall failed:%s",lua_tostring(l,-1)) ; exit; } printf("result\n",(int)lua_tonumber(l,-1)) ; lua_pop(l,1);
lua_close(l) ; return 0 ;}

2012年07月31日 07点07分 1
level 1
zhulu323 楼主
自己先顶
在C里到底怎么调用一个带有require的lua脚本呢?
有谁给个例子啊
2012年07月31日 08点07分 2
level 1
晕,一样的错,求解决办法
2012年08月02日 08点08分 3
level 1
zhulu323 楼主
已经解决了,可能lua5.2的bug,把lua换成5.1版本就可以了!
2012年10月17日 06点10分 4
能问下5.1.几的 我换成5.1.2的好像不行
2014年07月04日 12点07分
level 14
luaL_openlibs?
2012年10月18日 00点10分 5
level 2
推荐一个学计算机的视频网站,猎豹网校,教程很详细,有各种编程语言,游戏编程,网页设计,还有办公软件、CAD这些实用技术,也有等级考试辅导,课程很多,有老师辅导,充电挺好的。要资料的加我吧1909591216~~no
2013年02月25日 08点02分 6
1