[发明专利]为应用从中间语言代码生成本机代码在审
申请号: | 201380057733.2 | 申请日: | 2013-09-03 |
公开(公告)号: | CN104781785A | 公开(公告)日: | 2015-07-15 |
发明(设计)人: | S.特加尼;A.M.特鲁芬斯库;Y.沙班;A.格巴格辛;A.巴巴;蔡美琴;S.拉马斯瓦米;C.L.费尔南多 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/54;G06F8/61;G06F8/65 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 中间 语言 代码 生成 | ||
1.一种方法,其包括:
在计算设备处,接收来自在线提供商的针对应用的至少一个特定于设备类型的安装包,所述至少一个特定于设备类型的安装包包括,具有由在线提供商针对应用所生成的不可执行的机器相关中间语言代码的文件、在应用被执行时可以由应用使用的一个或多个资源文件、指示包括在所述至少一个特定于设备类型的安装包中的机器相关中间语言文件的集合中的至少一个机器相关中间语言文件的文件的列表、和绑定到所指示的相应的机器相关中间语言文件的代码的一个或多个库的列表,
其中,不可执行机器相关中间语言代码先前远离计算设备被编译并且由在线提供商传送,并且其中不可执行机器相关中间语言代码包括机器相关指令和伪指令,伪指令具有在应用的安装期间要被解析成本机代码的未解析的符号引用,机器相关指令基于针对处理器的处理器指令集;
其中,所述至少一个特定于设备类型的安装包以及各种其他特定于设备类型的安装包先前远离计算设备被存储于在线市场处;
在计算设备处,通过绑定不可执行机器相关中间语言代码生成针对应用的本机映像来将应用安装在计算设备上,生成本机映像包括:
将不可执行机器相关中间语言代码的一部分与计算设备上的一个或多个库绑定,其包括解析伪指令中的未解析的符号引用以生成相应的针对本机映像的本机指令;以及
将本机映像存储在计算设备上以便在加载供执行的应用时使用;
更新计算设备上的库的集合,该库的集合包括绑定到不可执行机器相关中间语言代码的一部分的一个或多个库中的至少一个库;
在更新计算设备上的库的集合之后,通过将不可执行机器相关中间语言代码的一部分与一个或多个库中的至少一个库绑定来生成经更新的针对应用的本机映像,其中,该绑定避免了响应于库的集合的更新而在计算设备上针对应用进行重新编译。
2.根据权利要求1所述的方法,其进一步包括:
更新计算设备的至少一个运行时引擎,经更新的针对应用的本机映像被生成,使得经更新的本机映像通过使用经更新的至少一个运行时引擎而是可运行的;以及
将经更新的本机映像存储在计算设备上以便在加载供执行的应用时使用。
3.根据权利要求1所述的方法,进一步包括在应用的执行期间加载本机映像,其中本机映像的加载由公共语言运行时执行。
4.根据权利要求1所述的方法,其中机器相关指令包括机器代码指令和组件指令中的一个或多个。
5.根据权利要求1所述的方法,其中将不可执行机器相关中间语言代码的一部分与一个或多个库绑定包括:
从不可执行机器相关中间语言代码的一部分中的伪指令中的给定伪指令生成本机语言指令。
6.根据权利要求5所述的方法,其中生成本机语言指令包括基于给定伪指令来生成数值字段偏移。
7.根据权利要求6所述的方法,其中给定伪指令包括识别字段的记号并且本机语言指令包括用来在被执行时引用字段的数值字段偏移。
8.根据权利要求4所述的方法,进一步包括:
接收针对应用的新的不可执行机器相关中间语言代码;
通过生成针对应用的经更新的第二本机映像来更新计算设备上的应用,其包括将新的不可执行机器相关中间语言代码的新的一部分与计算设备上的一个或多个库绑定;以及
将经更新的第二本机映像存储在计算设备上以便在加载供执行的应用时使用。
9.一种包括处理器和存储器的计算设备,存储器存储用于使计算设备执行操作的计算机可执行指令,所述操作包括:
在计算设备处,从在线提供商接收针对应用的至少一个特定于设备类型的安装包,所述至少一个特定于设备类型的安装包包括,包含不可执行机器相关中间语言代码的不可执行机器相关中间语言文件的集合、在应用被执行时可以由应用使用的一个或多个资源文件、指示包括在所述至少一个特定于设备类型的安装包中的机器相关中间语言文件的集合中的至少一个机器相关中间语言文件的文件的列表、和绑定到所指示的相应的机器相关中间语言文件的代码的一个或多个库的列表,
不可执行机器相关中间语言代码先前远离计算设备被编译并且包括机器相关指令和伪指令,伪指令具有在应用的安装期间要被解析成本机代码的未解析的符号引用,机器相关指令基于针对处理器的处理器指令集;
所述至少一个特定于设备类型的安装包以及各种其他特定于设备类型的安装包先前远离计算设备被存储于在线市场处,所述其他特定于设备类型的安装包特定于设备类型而不是计算设备的设备类型;
所述一个或多个资源文件包括以下项中的一项或多项:声音信息、音乐信息、图形信息、视频信息、其他媒体信息、数据库信息和文本信息;
评估文件的列表;
基于文件的列表的评估,将不可执行机器相关中间语言文件的集合中的至少一个不可执行机器相关中间语言文件和要被绑定到该至少一个不可执行机器相关中间语言文件的一个或多个库提供给计算设备的绑定器;以及
采用绑定器,在应用的安装期间生成针对应用的本机映像,所述生成包括使用一个或多个库来绑定至少一个不可执行机器相关中间语言文件的不可执行机器相关中间语言代码,其包括解析伪指令中的未解析的符号引用以生成相应的针对本机映像的本机指令;
更新计算设备上的库的集合,该库的集合包括绑定到不可执行机器相关中间语言代码的一个或多个库中的至少一个库;
在更新计算设备上的库的集合之后,通过将不可执行机器相关中间语言代码与一个或多个库中的至少一个库绑定来生成经更新的针对应用的本机映像,
其中,绑定器的使用避免了在一个或多个库改变时和/或在运行时引擎改变时而在计算设备上针对应用进行重新编译。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380057733.2/1.html,转载请声明来源钻瓜专利网。