[發(fā)明專利]為應用從中間語言代碼生成本機代碼在審
| 申請?zhí)枺?/td> | 201380057733.2 | 申請日: | 2013-09-03 |
| 公開(公告)號: | CN104781785A | 公開(公告)日: | 2015-07-15 |
| 發(fā)明(設計)人: | S.特加尼;A.M.特魯芬斯庫;Y.沙班;A.格巴格辛;A.巴巴;蔡美琴;S.拉馬斯瓦米;C.L.費爾南多 | 申請(專利權(quán))人: | 微軟技術(shù)許可有限責任公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F8/54;G06F8/61;G06F8/65 |
| 代理公司: | 北京市金杜律師事務所 11256 | 代理人: | 王茂華 |
| 地址: | 美國華*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 應用 中間 語言 代碼 生成 | ||
1.一種方法,其包括:
在計算設備處,接收來自在線提供商的針對應用的至少一個特定于設備類型的安裝包,所述至少一個特定于設備類型的安裝包包括,具有由在線提供商針對應用所生成的不可執(zhí)行的機器相關(guān)中間語言代碼的文件、在應用被執(zhí)行時可以由應用使用的一個或多個資源文件、指示包括在所述至少一個特定于設備類型的安裝包中的機器相關(guān)中間語言文件的集合中的至少一個機器相關(guān)中間語言文件的文件的列表、和綁定到所指示的相應的機器相關(guān)中間語言文件的代碼的一個或多個庫的列表,
其中,不可執(zhí)行機器相關(guān)中間語言代碼先前遠離計算設備被編譯并且由在線提供商傳送,并且其中不可執(zhí)行機器相關(guān)中間語言代碼包括機器相關(guān)指令和偽指令,偽指令具有在應用的安裝期間要被解析成本機代碼的未解析的符號引用,機器相關(guān)指令基于針對處理器的處理器指令集;
其中,所述至少一個特定于設備類型的安裝包以及各種其他特定于設備類型的安裝包先前遠離計算設備被存儲于在線市場處;
在計算設備處,通過綁定不可執(zhí)行機器相關(guān)中間語言代碼生成針對應用的本機映像來將應用安裝在計算設備上,生成本機映像包括:
將不可執(zhí)行機器相關(guān)中間語言代碼的一部分與計算設備上的一個或多個庫綁定,其包括解析偽指令中的未解析的符號引用以生成相應的針對本機映像的本機指令;以及
將本機映像存儲在計算設備上以便在加載供執(zhí)行的應用時使用;
更新計算設備上的庫的集合,該庫的集合包括綁定到不可執(zhí)行機器相關(guān)中間語言代碼的一部分的一個或多個庫中的至少一個庫;
在更新計算設備上的庫的集合之后,通過將不可執(zhí)行機器相關(guān)中間語言代碼的一部分與一個或多個庫中的至少一個庫綁定來生成經(jīng)更新的針對應用的本機映像,其中,該綁定避免了響應于庫的集合的更新而在計算設備上針對應用進行重新編譯。
2.根據(jù)權(quán)利要求1所述的方法,其進一步包括:
更新計算設備的至少一個運行時引擎,經(jīng)更新的針對應用的本機映像被生成,使得經(jīng)更新的本機映像通過使用經(jīng)更新的至少一個運行時引擎而是可運行的;以及
將經(jīng)更新的本機映像存儲在計算設備上以便在加載供執(zhí)行的應用時使用。
3.根據(jù)權(quán)利要求1所述的方法,進一步包括在應用的執(zhí)行期間加載本機映像,其中本機映像的加載由公共語言運行時執(zhí)行。
4.根據(jù)權(quán)利要求1所述的方法,其中機器相關(guān)指令包括機器代碼指令和組件指令中的一個或多個。
5.根據(jù)權(quán)利要求1所述的方法,其中將不可執(zhí)行機器相關(guān)中間語言代碼的一部分與一個或多個庫綁定包括:
從不可執(zhí)行機器相關(guān)中間語言代碼的一部分中的偽指令中的給定偽指令生成本機語言指令。
6.根據(jù)權(quán)利要求5所述的方法,其中生成本機語言指令包括基于給定偽指令來生成數(shù)值字段偏移。
7.根據(jù)權(quán)利要求6所述的方法,其中給定偽指令包括識別字段的記號并且本機語言指令包括用來在被執(zhí)行時引用字段的數(shù)值字段偏移。
8.根據(jù)權(quán)利要求4所述的方法,進一步包括:
接收針對應用的新的不可執(zhí)行機器相關(guān)中間語言代碼;
通過生成針對應用的經(jīng)更新的第二本機映像來更新計算設備上的應用,其包括將新的不可執(zhí)行機器相關(guān)中間語言代碼的新的一部分與計算設備上的一個或多個庫綁定;以及
將經(jīng)更新的第二本機映像存儲在計算設備上以便在加載供執(zhí)行的應用時使用。
9.一種包括處理器和存儲器的計算設備,存儲器存儲用于使計算設備執(zhí)行操作的計算機可執(zhí)行指令,所述操作包括:
在計算設備處,從在線提供商接收針對應用的至少一個特定于設備類型的安裝包,所述至少一個特定于設備類型的安裝包包括,包含不可執(zhí)行機器相關(guān)中間語言代碼的不可執(zhí)行機器相關(guān)中間語言文件的集合、在應用被執(zhí)行時可以由應用使用的一個或多個資源文件、指示包括在所述至少一個特定于設備類型的安裝包中的機器相關(guān)中間語言文件的集合中的至少一個機器相關(guān)中間語言文件的文件的列表、和綁定到所指示的相應的機器相關(guān)中間語言文件的代碼的一個或多個庫的列表,
不可執(zhí)行機器相關(guān)中間語言代碼先前遠離計算設備被編譯并且包括機器相關(guān)指令和偽指令,偽指令具有在應用的安裝期間要被解析成本機代碼的未解析的符號引用,機器相關(guān)指令基于針對處理器的處理器指令集;
所述至少一個特定于設備類型的安裝包以及各種其他特定于設備類型的安裝包先前遠離計算設備被存儲于在線市場處,所述其他特定于設備類型的安裝包特定于設備類型而不是計算設備的設備類型;
所述一個或多個資源文件包括以下項中的一項或多項:聲音信息、音樂信息、圖形信息、視頻信息、其他媒體信息、數(shù)據(jù)庫信息和文本信息;
評估文件的列表;
基于文件的列表的評估,將不可執(zhí)行機器相關(guān)中間語言文件的集合中的至少一個不可執(zhí)行機器相關(guān)中間語言文件和要被綁定到該至少一個不可執(zhí)行機器相關(guān)中間語言文件的一個或多個庫提供給計算設備的綁定器;以及
采用綁定器,在應用的安裝期間生成針對應用的本機映像,所述生成包括使用一個或多個庫來綁定至少一個不可執(zhí)行機器相關(guān)中間語言文件的不可執(zhí)行機器相關(guān)中間語言代碼,其包括解析偽指令中的未解析的符號引用以生成相應的針對本機映像的本機指令;
更新計算設備上的庫的集合,該庫的集合包括綁定到不可執(zhí)行機器相關(guān)中間語言代碼的一個或多個庫中的至少一個庫;
在更新計算設備上的庫的集合之后,通過將不可執(zhí)行機器相關(guān)中間語言代碼與一個或多個庫中的至少一個庫綁定來生成經(jīng)更新的針對應用的本機映像,
其中,綁定器的使用避免了在一個或多個庫改變時和/或在運行時引擎改變時而在計算設備上針對應用進行重新編譯。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微軟技術(shù)許可有限責任公司,未經(jīng)微軟技術(shù)許可有限責任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380057733.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





