一种WPF和C的交互方法.pdf

上传人:000****221 文档编号:1742372 上传时间:2018-07-08 格式:PDF 页数:5 大小:226.98KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510136829.9

申请日:

2015.03.27

公开号:

CN104679573A

公开日:

2015.06.03

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/45申请日:20150327|||公开

IPC分类号:

G06F9/45

主分类号:

G06F9/45

申请人:

厦门麦克玛视电子信息技术有限公司

发明人:

赖明钟

地址:

361000福建省厦门市火炬高新区创业园创业大厦301B

优先权:

专利代理机构:

厦门市精诚新创知识产权代理有限公司35218

代理人:

李伊飏

PDF下载: PDF下载
内容摘要

本发明公开一种WPF和C++的交互方法,包括以下过程:步骤1:将C++的底层SDK接口进行调整,将所有的C++算法接口重新封装为ExcuteCall执行接口;步骤2:WPF和C++交互时,C++通过ExcuteCall执行接口与WPF进行通讯;步骤3:WPF接收ExcuteCall执行接口后,将其解析为封装前的C++算法接口,并进行相应的处理。使用本发明的方法,成功的精简了WPF和C++的交互接口数,极大的降低了应用和算法对接和测试的工作量。本发明将直接的接口封装修改为执行命令的方式,极大的减小了工作量。

权利要求书

权利要求书
1.  一种WPF和C++的交互方法,包括以下过程:
步骤1:将C++的底层SDK接口进行调整,将所有的C++算法接口重新封装 为ExcuteCall执行接口;
步骤2:WPF和C++交互时,C++通过ExcuteCall执行接口与WPF进行通讯;
步骤3:WPF接收ExcuteCall执行接口后,将其解析为封装前的C++算法接 口,并进行相应的处理。

2.  根据权利要求1所述的WPF和C++的交互方法,其特征在于:步骤1封装 为ExcuteCall执行接口的具体步骤如下:
步骤11:首先过滤掉底层SDK接口的非法字符,然后将C++算法接口解析 为函数体、输入图像、输出图像、输入变量和输出变量;
步骤12:将解析出来的信息生成一张函数接口表。

3.  根据权利要求1所述的WPF和C++的交互方法,其特征在于:所述步骤12 中,为了方便解析,将底层SDK接口重新调整,按照命名规则调整输入输 出的参数顺序,然后在程序内部生成一张函数接口表。

4.  根据权利要求2或3所述的WPF和C++的交互方法,其特征在于:步骤3 中,WPF将接收到的ExcuteCall执行接口解析为封装前的C++算法接口,具 体包括如下过程:接收到ExcuteCall执行接口后,按照括号、逗号进行拆分 解析,然后根据解析的信息到函数接口表中查询,获取对应的C++算法接口 中的每个变量的数据类型,对不同类型的变量分别处理。

说明书

说明书一种WPF和C++的交互方法
技术领域
本发明涉及计算机程序设计技术,具体是一种WPF和C++的交互方法。
背景技术
当前,应用程序界面部分多采用WPF(Windows Presentation Foundation) 技术,底层采用C/C++开发。WPF是微软推出的基于Windows Vista的用户界面 框架,属于.NET Framework的一部分,它提供了统一的编程模型、语言和框架, 真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体 交互用户图形界面。WPF是一套API函数库,WPF具有集成度高,界面风格好 等优点。但是WPF的最大的“缺点”是无法直接和C/C++交互,中间需要托管 C++将底层SDK接口重新封装,但重新封装工作量巨大,还会带来额外的巨大 内存消耗。
发明内容
因此,针对上述的问题,本发明提出一种新的交互方法,将直接的接口封 装修改为“执行”命令的方式,减小WPF和C/C++接口封装的工作量。
为了解决上述技术问题,本发明的一种WPF和C++的交互方法,包括以下 过程:
步骤1:将C++的底层SDK接口进行调整,将所有的C++算法接口重新封 装为ExcuteCall执行接口;
步骤2:WPF和C++交互时,C++通过ExcuteCall执行接口与WPF进行通 讯;
步骤3:WPF接收ExcuteCall执行接口后,将其解析为封装前的C++算法 接口,并进行相应的处理。
其中,步骤1封装为ExcuteCall执行接口的具体步骤如下:
步骤11:首先过滤掉底层SDK接口的非法字符,然后将C++算法接口(也 就是执行“命令”)解析为函数体、输入图像、输出图像、输入变量和输出变量 (这些变量的个数都可能是多个);
步骤12:将解析出来的信息生成一张函数接口表。
所述步骤12中,为了方便解析,将底层SDK接口重新调整,按照命名规 则调整输入输出的参数顺序,然后在程序内部生成一张函数接口表。
步骤3中,WPF将接收到的ExcuteCall执行接口解析为封装前的C++算法 接口,具体包括如下过程:接收到ExcuteCall执行接口后,按照括号、逗号进 行拆分解析,然后根据解析的信息到函数接口表中查询,获取对应的C++算法 接口中的每个变量的数据类型,对不同类型的变量分别处理(例如销毁、新建 等)。
其中变量的数据类型包括6个类型:输入图像、输出图像、输入泛型序列、 输出泛型序列、输入char*、输出char*。其中,对于输入图像,算法不做处理, 对于输出图像,算法根据需要对其分配合适的内存,进行运算;输入参数(输 入泛型序列、输入char*)不做处理,输出参数根据需要对其分配内存并处理。
从上面算法可知,无论哪种算法接口,WPF和算法进行交互时都是采用的 ExcuteCall接口,这就将多种调用方式精简为1种。由上可知,使用本发明的方 法,成功的精简了WPF和C++的交互接口数,极大的降低了应用和算法对接和 测试的工作量。本发明将直接的接口封装修改为执行命令的方式,极大的减小 了工作量。
具体实施方式
现结合具体实施方式对本发明进一步说明。
本发明提供一种WPF和C++的交互方法,将直接的接口封装修改为“执行” 命令的方式,减小WPF和C/C++接口封装的工作量。其包括以下过程:首先 将C++的底层SDK接口进行调整,将所有的C++算法接口重新封装为ExcuteCall 执行接口;在WPF和C++交互时,C++通过ExcuteCall执行接口与WPF进行通 讯;WPF接收ExcuteCall执行接口后,将其解析为封装前的C++算法接口,并 进行相应的处理。
其中,底层SDK接口调整,例如进行如下表格的调整:

从上面表格可以看出,无论哪种算法接口,WPF和算法进行交互时都是采 用的ExcuteCall接口,这就将多种调用方式精简为一种。算法需要将输入的字 符串“命令”解析成对应的变量和函数,以MirrorImage为例:

为了保证算法“命令”的顺利执行,算法SDK需要过滤非法字符,然后将 执行“命令”解析为函数体、输入图像、输出图像、输入变量、输出变量(这 些变量的个数都可能是多个),为了方便解析,将“所有”的底层SDK接口重 新调整,按照命名规则调整输入输出的参数顺序,并在程序内部生成一张函数 接口表。接收到执行命令后,算法按照括号,逗号等拆分解析,然后到函数表 中查询,获取对应算法中,每个变量的数据类型,对不同类型的变量分别处理 (销毁、新建)。经过分析,底层SDK的接口数据类型一共有6种:
序号 类型 定义 1 输入图像 FV_I_OBJ 2 输出图像 FV_O_OBJ 3 输入泛型序列 FV_I_TUP 4 输出泛型序列 FV_O_TUP 5 输入char* FV_I_CP 6 输出char* FV_O_CP
对于输入图像,算法不做处理,对于输出图像,算法根据需要自己分配合 适的内存,进行算法运算,输入参数不做处理,输出参数根据需要分配内存并 处理。使用该方法,成功的精简了WPF和C++的交互接口数,极大的降低了应 用和算法对接和测试的工作量。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员 应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式 上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

一种WPF和C的交互方法.pdf_第1页
第1页 / 共5页
一种WPF和C的交互方法.pdf_第2页
第2页 / 共5页
一种WPF和C的交互方法.pdf_第3页
第3页 / 共5页
点击查看更多>>
资源描述

《一种WPF和C的交互方法.pdf》由会员分享,可在线阅读,更多相关《一种WPF和C的交互方法.pdf(5页珍藏版)》请在专利查询网上搜索。

本发明公开一种WPF和C+的交互方法,包括以下过程:步骤1:将C+的底层SDK接口进行调整,将所有的C+算法接口重新封装为ExcuteCall执行接口;步骤2:WPF和C+交互时,C+通过ExcuteCall执行接口与WPF进行通讯;步骤3:WPF接收ExcuteCall执行接口后,将其解析为封装前的C+算法接口,并进行相应的处理。使用本发明的方法,成功的精简了WPF和C+的交互接口数,极大的降低。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1