机器人之【RPA干货来袭】 使用 C/C++ 扩展 UiBot 的功能
小标 2019-06-26 来源 : 阅读 1482 评论 0

摘要:本文主要向大家介绍了机器人之【RPA干货来袭】 使用 C/C++ 扩展 UiBot 的功能,通过具体的内容向大家展现,希望对大家学习机器人有所帮助。

本文主要向大家介绍了机器人之【RPA干货来袭】 使用 C/C++ 扩展 UiBot 的功能,通过具体的内容向大家展现,希望对大家学习机器人有所帮助。

机器人之【RPA干货来袭】 使用 C/C++ 扩展 UiBot 的功能

本期教程将为大家讲解如何使用 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中文版。

在插件的命名中,建议英文字母全部采用大写。这样的话,在脚本中使用插件时,无论是大写还是小写,都能正确识别到。因为编译器会用全大写的形式去尝试一次。
6、在Solution Explorer(中文版一般叫做“解决方案资源管理器”),可以看到本项目有三个文件:dllmain.cpp、entry.cpp和luaclib.cpp,我们只需要关注luaclib.cpp,其他两个文件一般不用修改。
7、注意:我们已经在项目中包含了Lua语言相关的头文件定义,不需要额外定义,更不需要把Lua语言的源码引入到这个项目中来。
8、在luaclib.cpp中,我们已经定义了两个插件函数add和strcat,其功能分别是两个整数相加,以及两个字符串连接。这两个函数仅仅作为例子,不具有实际意义,在充分阅读其源码后,可以将这两个函数删掉。
9、同时,文件的最后还有一个叫module_name的struct,其中的每一行注册了每一个插件函数。可以把其中作为示例的add和strcat删掉。
10、编写你自己的插件函数,函数名可以随意取,但函数类型必须是:


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)


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能智能机器人频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 1
看完这篇文章有何感觉?已经有1人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    ICP许可  沪B2-20190160

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程