[發(fā)明專利]共享對象層級上的二進制轉(zhuǎn)換的方法、系統(tǒng)和介質(zhì)有效
| 申請?zhí)枺?/td> | 201580078239.3 | 申請日: | 2015-04-10 |
| 公開(公告)號: | CN107408052B | 公開(公告)日: | 2021-04-16 |
| 發(fā)明(設計)人: | 葉夫根尼·艾爾欽;尼古拉·伊戈蒂;安德烈·哈爾佳溫;德米特里·波盧欣 | 申請(專利權(quán))人: | 谷歌有限責任公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F9/455 |
| 代理公司: | 中原信達知識產(chǎn)權(quán)代理有限責任公司 11219 | 代理人: | 李寶泉;周亞榮 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 共享 對象 層級 二進制 轉(zhuǎn)換 方法 系統(tǒng) 介質(zhì) | ||
1.一種用于二進制轉(zhuǎn)換的計算機實現(xiàn)的方法,包括:
在主機平臺處接收為與所述主機平臺不同的指定客戶機平臺編寫的軟件程序,其中所述軟件程序使用與所述客戶機平臺相關(guān)聯(lián)的共享對象或動態(tài)加載庫的集合,并且其中所述軟件程序和所述共享對象或動態(tài)加載庫的集合與所述主機平臺不兼容;
在所述主機平臺內(nèi)對所述指定客戶機平臺進行仿真;
確定所述主機平臺是否具有沒有進行二進制轉(zhuǎn)換的對應共享對象或動態(tài)加載庫,但是實現(xiàn)與來自所述共享對象或動態(tài)加載庫的集合內(nèi)的指定的共享對象或動態(tài)加載庫公共的外部接口;
如果所述主機平臺具有所述對應共享對象或動態(tài)加載庫,則基于將所述軟件程序中的一個或多個鏈接修改為指向所述對應共享對象或動態(tài)加載庫的鏈接來使用所述對應共享對象或動態(tài)加載庫取代所述指定的共享對象或動態(tài)加載庫以供所述主機平臺內(nèi)的所述軟件程序的執(zhí)行,避免所述指定的共享對象或動態(tài)加載庫的二進制轉(zhuǎn)換,其中,所述公共的外部接口與所述指定的共享對象或動態(tài)加載庫實現(xiàn)相似或相同的函數(shù)調(diào)用以及響應于函數(shù)調(diào)用的相似或相同的行為;以及
如果所述主機平臺沒有所述對應共享對象或動態(tài)加載庫,則執(zhí)行所述指定的共享對象或動態(tài)加載庫的二進制轉(zhuǎn)換,以供所述主機平臺內(nèi)的所述軟件程序的執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行所述指定的共享對象或動態(tài)加載庫的所述二進制轉(zhuǎn)換包括創(chuàng)建第一二進制轉(zhuǎn)換對象,其中所述第一二進制轉(zhuǎn)換對象的外部接口包括對用于所述主機平臺的第二二進制轉(zhuǎn)換對象或?qū)ψ畛跤糜谒鲋鳈C平臺的對象的函數(shù)調(diào)用。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述共享對象或動態(tài)加載庫的集合包括與所述主機平臺處的所述對應共享對象或動態(tài)加載庫關(guān)聯(lián)的至少一個系統(tǒng)庫和不與所述主機平臺處的所述對應共享對象或動態(tài)加載庫關(guān)聯(lián)的至少一個供應商庫。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述指定客戶機平臺包括ARM硬件,并且其中,所述主機平臺包括x86硬件。
5.根據(jù)權(quán)利要求1所述的方法,其中,使用所述對應共享對象或動態(tài)加載庫取代所述指定的共享對象或動態(tài)加載庫以供所述主機平臺內(nèi)的所述軟件程序的執(zhí)行包括:
提供橋接器,使得對所述指定的共享對象或動態(tài)加載庫的調(diào)用被變換成對所述對應共享對象或動態(tài)加載庫的調(diào)用。
6.根據(jù)權(quán)利要求1所述的方法,進一步包括:
接收需要訪問被仿真的客戶機平臺的狀態(tài)或所述主機平臺的狀態(tài)的調(diào)用;以及
響應于所述調(diào)用,將所仿真的客戶機平臺的狀態(tài)與所述主機平臺的狀態(tài)同步。
7.一種非瞬時計算機可讀介質(zhì),所述非瞬時計算機可讀介質(zhì)包括指令,所述指令在由一個或多個計算機執(zhí)行時致使所述一個或多個計算機實現(xiàn)一種方法,所述方法包括:
在主機平臺處接收為與所述主機平臺不同的指定客戶機平臺編寫的軟件程序,其中所述軟件程序使用與所述客戶機平臺相關(guān)聯(lián)的共享對象或動態(tài)加載庫的集合,并且其中所述軟件程序和所述共享對象或動態(tài)加載庫的集合與所述主機平臺不兼容;
確定所述主機平臺是否具有沒有進行二進制轉(zhuǎn)換的對應共享對象或動態(tài)加載庫,但是實現(xiàn)與來自所述共享對象或動態(tài)加載庫的集合內(nèi)的指定的共享對象或動態(tài)加載庫公共的外部接口;
如果所述主機平臺具有所述對應共享對象或動態(tài)加載庫,則基于將所述軟件程序中的一個或多個鏈接修改為指向所述對應共享對象或動態(tài)加載庫的鏈接來使用所述對應共享對象或動態(tài)加載庫取代所述指定的共享對象或動態(tài)加載庫以供所述主機平臺內(nèi)的所述軟件程序的執(zhí)行,避免所述指定的共享對象或動態(tài)加載庫的二進制轉(zhuǎn)換,其中,所述公共的外部接口與所述指定的共享對象或動態(tài)加載庫實現(xiàn)相似或相同的函數(shù)調(diào)用以及響應于函數(shù)調(diào)用的相似或相同的行為;以及
如果所述主機平臺沒有所述對應共享對象或動態(tài)加載庫,則執(zhí)行所述指定的共享對象或動態(tài)加載庫的二進制轉(zhuǎn)換,以供所述主機平臺內(nèi)的所述軟件程序的執(zhí)行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于谷歌有限責任公司,未經(jīng)谷歌有限責任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201580078239.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





