[发明专利]一种基于虚拟指令的应用程序移植方法在审
申请号: | 201310316264.3 | 申请日: | 2013-07-25 |
公开(公告)号: | CN103365665A | 公开(公告)日: | 2013-10-23 |
发明(设计)人: | 徐滢 | 申请(专利权)人: | 成都品果科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 袁春晓 |
地址: | 610000 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 虚拟 指令 应用程序 移植 方法 | ||
技术领域
本发明涉及程序移植技术,尤其是一种便捷的基于虚拟指令的应用程序移植方法。
背景技术
随着智能手机的普及及性能的不断提高,消费者希望能在手机平台上运行更多的应用程序。如希望能在Windows系统中运行的免费应用程序也能在手机平台上运行。目前手机的主流平台包括iOS系统及Android系统。如果直接进行应用程序软件开发,编写适合手机平台的代码,是很费时间和精力的,很可能出现适用于手机平台的这种应用程序还未开发出来,消费者又开始关注另一种应用程序的情况,那么这样做显然不具备市场效益。因此,亟需一种能快速便捷的将Windows平台的应用程序移植到iOS平台或Android平台等其他应用平台的方法。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供一种基于虚拟指令的应用程序移植方法。
本发明采用的技术方案如下:包括:
步骤101:在Windows系统中将应用程序转换为汇编代码;
步骤102:在Windows系统中将汇编代码按照一套虚拟指令集的语法逐一转换为对应的虚拟指令,从而得到虚拟化的汇编代码;
步骤103:将所述虚拟化的汇编代码拷贝到其他应用平台上,经过编译后运行;
所述虚拟指令集中至少有一条指令与汇编指令集中的一条指令对应;且所述虚拟指令集中的每一条指令为一个C语言编写的宏或函数,包含至少一条C语言指令。
优选地,所述其他应用平台为iOS系统或Android系统。
优选地,所述汇编指令集为Intel x86汇编指令集。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
由于使用一固定的虚拟指令集及其文法,可以实现应用程序对应的汇编代码的批量虚拟化,提高工作效率。所述虚拟指令集及其文法可由本领域技术人员自行定义。
虚拟指令集中至少一条指令与已有的标准汇编指令及中的一条指令对应,例如虚拟指令集中的加法指令“add_d0(reg,imm)”对应Intel x86指令集中的“add reg,imm”指令,从而可以快速实现汇编指令向虚拟指令的转换。
虚拟指令集中的每一条指令实际为一C语言编写的宏或函数,从而使得转换后的虚拟化汇编代码能够在一切兼容C语言的平台上运行,例如iOS平台及Android平台。当然,能兼容C语言的平台很广,基本目前所有的平台都能运行C语言代码,可见,采用本方法可以实现Windows平台上应用程序往其他任何应用平台移植。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明代码处理流程图。
图2为Intel x86汇编指令集其中部分指令与本发明提出的一种虚拟指令集指令的对应示意图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
如图1,本发明公开的应用程序移植方法包括:
步骤101:在Windows系统中将应用程序转换为汇编代码;
步骤102:在Windows系统中将汇编代码中的各个汇编指令按照一套虚拟指令集的文法逐一转换为对应的虚拟指令,从而得到虚拟化的汇编代码;
步骤103:将所述虚拟化的汇编代码拷贝到其他应用平台上经过编译后运行。
其中,所述的虚拟指令集可以是本领域技术人员根据其编程习惯自行定义,但是需要满足以下基本条件:所述虚拟指令集中至少有一条指令与汇编指令集中的一条指令对应;且所述虚拟指令集中的每一条指令为一个C语言编写的宏或函数,包含至少一条C语言指令。
现以Intel x86汇编指令集及文法为例,阐述本发明公开的一个虚拟指令集及文法实施例,但是本领域技术人员不应当将本实施例理解为对本发明的限制,申请人在此公开这一虚拟指令集目的在于教导本领域技术人员如何去自行定义一套等同的虚拟指令集。
本领域技术人员知晓Intel x86汇编语法实现的指令通用格式为:inst1 op1或inst2 op1,op2或inst3 op1,op2,op3,其中inst为Intel x86汇编指令助记符,如mov,add,and…。op为操作码,操作码可以是寄存器,可以是内存,也可以是立即数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都品果科技有限公司,未经成都品果科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310316264.3/2.html,转载请声明来源钻瓜专利网。