[發明專利]一種文件編譯的方法及裝置在審
| 申請號: | 201711403827.7 | 申請日: | 2017-12-22 |
| 公開(公告)號: | CN108153529A | 公開(公告)日: | 2018-06-12 |
| 發明(設計)人: | 符志清 | 申請(專利權)人: | 杭州迪普科技股份有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 310051 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 頭文件 源文件 依賴關系 編譯 文件編譯 目標文件 預處理 更新目標 重新生成 更新 申請 檢測 | ||
本申請提供一種文件編譯的方法及裝置。一種文件編譯的方法,包括:基于目標文件對源文件、第一頭文件及所述第一頭文件包含的第二頭文件的依賴關系,對所述源文件進行編譯,所述第一頭文件為所述源文件所包含的頭文件;當檢測到所述第二頭文件導致的編譯錯誤時,對所述第一頭文件進行預處理,獲取所述第一頭文件當前所包含的第三頭文件;根據所述源文件、所述第一頭文件及所述第三頭文件更新所述依賴關系;基于更新后的依賴關系,對所述源文件進行編譯,以重新生成所述目標文件。本申請可通過更新目標文件對源文件及頭文件的依賴關系,從而可在源文件間接包含的頭文件被修改的情況下,實現編譯過程的正常執行,并可提高編譯效率。
技術領域
本申請涉及計算機技術領域,尤其涉及一種文件編譯的方法及裝置。
背景技術
軟件開發過程中,經常會出現多個源文件共用相同的數據或函數等,為使代碼編寫簡潔,開發人員通常會將上述數據或函數寫在頭文件中,并在需要引用上述數據或函數的源文件中通過特定的語法包含該頭文件即可。編譯過程中,通常還可為待生成的目標文件建立一組依賴關系,該依賴關系描述的是生成上述目標文件需要哪些源文件及頭文件。由于此依賴關系的存在,后續若生成上述目標文件所需的頭文件或源文件被修改,則將會觸發該源文件重新編譯,以重新生成上述目標文件。
然而,實際應用中,對頭文件的修改可能有多種情況,例如,將頭文件1包含的頭文件2改名為頭文件3,或者修改頭文件1的包含關系,使其除了包含頭文件2外,再包含頭文件4。上述修改將觸發包含上述頭文件1的源文件重新編譯以生成對應的目標文件,但由于上述修改不會造成原有的依賴關系的改變,由此在對源文件間接包含的頭文件被修改時,重新編譯源文件可能會出現找不到頭文件的錯誤,從而導致編譯失敗。
發明內容
有鑒于此,本申請提供一種文件編譯的方法及裝置,以在源文件間接包含的頭文件被修改的情況下實現編譯過程的正常執行,同時可提高編譯效率。
具體地,本申請是通過如下技術方案實現的:
一種文件編譯的方法,包括:
基于預先建立的目標文件對源文件、第一頭文件及所述第一頭文件包含的第二頭文件的依賴關系,對所述源文件進行編譯,所述第一頭文件為所述源文件所包含的頭文件;
當檢測到所述第二頭文件導致的編譯錯誤時,對所述第一頭文件進行預處理,獲取所述第一頭文件當前所包含的第三頭文件;
根據所述源文件、所述第一頭文件及所述第三頭文件更新所述依賴關系;
基于更新后的依賴關系,對所述源文件進行編譯,以重新生成所述目標文件。
一種文件編譯的裝置,包括:
第一編譯模塊,用于基于預先建立的目標文件對源文件、第一頭文件及所述第一頭文件包含的第二頭文件的依賴關系,對所述源文件進行編譯,所述第一頭文件為所述源文件所包含的頭文件;
獲取模塊,用于當檢測到所述第二頭文件導致的編譯錯誤時,對所述第一頭文件進行預處理,獲取所述第一頭文件當前所包含的第三頭文件;
更新模塊,用于根據所述源文件、所述第一頭文件及所述第三頭文件更新所述依賴關系;
第二編譯模塊,用于基于更新后的依賴關系,對所述源文件進行編譯,以重新生成所述目標文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州迪普科技股份有限公司,未經杭州迪普科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711403827.7/2.html,轉載請聲明來源鉆瓜專利網。





