本期教程将为大家讲解如何使用 C/C++扩展 UiBot 的功能。
1、 安装Visual Studio 2010或更高版本的Visual Studio,不支持更低版本的Visual Studio或其他编程工具/IDE/编译器。 2、下载UiBot的C/C++语言插件模板。 3、 用Visual Studio打开插件模板中的LuaPlugin.sln文件。 4、 如果使用高版本的Visual Studio,会提示对模版项目进行升级。直接按照提示进行升级即可。 5、打开Visual Studio的Solution Explorer(中文版一般叫做“解决方案资源管理器”),找到项目名称LuaPlugin,按鼠标右键,选择Rename(中文版一般叫做“重命名”),将其改为你自己为插件起的名称,名称支持英文大小写字母、数字和下划线。如下图所示,其中左图为Visual Studio 2010英文版,右图为Visual Studio 2015中文版。
static int (lua_State *L) 11、 你自己的插件函数必须在文件最后的名称为module_name的struct中注册,才可以使用。仿照add和strcat函数进行注册即可。其中每一行有两项内容,第一项是字符串,代表这个插件函数在UiBot中的名字,第二项是插件函数本身的名字。 12、在你自己的插件函数中,请参考示例和Lua的扩展接口文档,明确参数传递规则,以及返回值的规则。 13、 当插件函数的代码中出现各种异常结果时,推荐使用下面的函数抛出一个异常,这个异常会被UiBot捕捉到:
luaL_error(L, msg);
其中,msg是一个字符串,代表你要在异常中附加的信息。
14、在UiBot的脚本中,有数组(Array)和字典(Dictionary)两种数据类型。如果需要在插件中返回一个数组,请按照以下语句书写:
luaL_dostring(L, “return BasicLib.NewTable(1)”);
上述语句会在Lua的栈里面放置一个Table,你可以使用Lua的相关函数来处理这个Table,比如为其增加元素,等等。但这个Table会在UiBot中被识别为一个数组。 类似的,以下语句可以在栈里放置一个Table,但这个Table在UiBot中被识别为一个字典:
luaL_dostring(L, “return BasicLib.NewTable(2)”);
15、插件编写完成后,对其进行编译,会生成一个名为 插件名称.so的文件。把这个文件复制到UiBot的extend\lua_mod目录中即可。
16、 在UiBot中如下书写,即可调用插件中的add函数(假设插件名称为MyPlugin):
Import MyPlugin
Dim result = MyPlugin.add(100, 200)
现在下载
还有机会参与到我们的活动当中!
还等什么?赶快来体验!
活动期间(1月16日至2月5日)下载注册登录UiBot不仅有机会可以和产品大牛、技术大神亲密接触,还有更多高级培训课程、个人版年卡等丰厚奖品等你来拿。
我们每一次努力 只为让用户获得更好的体验!