[發明專利]依賴分析和程序編譯方法、設備及存儲介質有效
| 申請號: | 202010280806.6 | 申請日: | 2020-04-10 |
| 公開(公告)號: | CN113296777B | 公開(公告)日: | 2022-05-27 |
| 發明(設計)人: | 王歡明;張友東 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京太合九思知識產權代理有限公司 11610 | 代理人: | 張愛;劉戈 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 依賴 分析 程序 編譯 方法 設備 存儲 介質 | ||
1.一種依賴分析方法,包括:
對待分析程序的源代碼和其它源代碼分別進行編譯,得到所述待分析程序的第一目標文件和所述其它源代碼的至少一個第二目標文件;
根據所述第一目標文件和所述至少一個第二目標文件,確定所述待分析程序依賴的未定義符號;
從所述至少一個第二目標文件中,確定與所述未定義符號具有依賴關系的第三目標文件;
依據所述第三目標文件,生成所述待分析程序的源代碼與所述其它源代碼之間的依賴關系;
其中,所述根據所述第一目標文件和所述至少一個第二目標文件,確定所述待分析程序依賴的未定義符號,包括:
對所述第一目標文件包含的符號的類型進行分析,以識別出所述第一目標文件包含的基準未定義符號;所述基準未定義符號是指所述第一目標文件包含的未定義符號;
根據所述基準未定義符號和所述至少一個第二目標文件,確定所述未定義符號;
所述依據所述第三目標文件,生成所述待分析程序的源代碼與所述其它源代碼之間的依賴關系,包括:
從所述其它源代碼中,確定所述第三目標文件對應的目標源代碼;并生成所述待分析程序的源代碼與所述目標源代碼之間的依賴關系。
2.根據權利要求1所述的方法,所述根據所述基準未定義符號和所述至少一個第二目標文件,確定所述待分析程序依賴的未定義符號,包括:
對所述至少一個第二目標文件進行掃描,得到所述至少一個第二目標文件包含的符號;
根據所述基準未定義符號和所述至少一個第二目標文件包含的符號,確定所述未定義符號。
3.根據權利要求2所述的方法,所述根據所述基準未定義符號和所述至少一個第二目標文件包含的符號,確定所述未定義符號,包括:
從所述至少一個第二目標文件中,確定包含所述基準未定義符號的基準目標文件;
從所述基準目標文件中識別出除所述基準未定義符號之外的其它未定義符號;
將所述其它未定義符號作為新的基準未定義符號,并循環執行所述確定包含所述基準未定義符號的基準目標文件的操作,直至不再出現新的未定義符號為止;
將循環停止時已識別出的未定義符號作為所述未定義符號。
4.根據權利要求3所述的方法,從所述至少一個第二目標文件中,確定與所述未定義符號具有依賴關系的第三目標文件,包括:
將每次循環得到的基準目標文件作為所述第三目標文件。
5.根據權利要求1-4任一項所述的方法,在生成所述待分析程序的源代碼與所述目標源代碼之間的依賴關系之后,還包括:
根據所述依賴關系,對所述待分析程序的源代碼進行編譯,得到新的目標文件;
對所述新的目標文件進行代碼鏈接,得到所述待分析程序的可執行文件。
6.根據權利要求5所述的方法,所述根據所述依賴關系,對所述待分析程序進行編譯,包括:
根據所述依賴關系,從所述待分析程序包含的第一源代碼中,刪除除所述目標源代碼之外的源代碼;所述第一源代碼為所述其它源代碼中的部分或全部代碼;
對所述待分析程序中保留的源代碼進行重新編譯,得到所述新的目標文件。
7.根據權利要求1-4任一項所述的方法,所述其它源代碼為代碼庫中的源代碼。
8.一種程序編譯方法,包括:
獲取待編譯程序的源代碼與其它源代碼之間的依賴關系;所述依賴關系是根據所述待編譯程序所依賴的符號中的未定義符號確定的;所述未定義符號是根據所述待編譯程序的源代碼編譯得到的第一目標文件和所述其它源代碼編譯得到的至少一個第二目標文件確定的;
根據所述依賴關系,對所述待編譯程序的源代碼進行編譯,得到所述待編譯程序的目標文件;
對所述目標文件進行代碼鏈接,得到所述待編譯程序的可執行文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010280806.6/1.html,轉載請聲明來源鉆瓜專利網。





