[發明專利]全局變量的檢測方法、裝置及終端設備有效
| 申請號: | 201910944880.0 | 申請日: | 2019-09-30 |
| 公開(公告)號: | CN110688320B | 公開(公告)日: | 2023-05-23 |
| 發明(設計)人: | 許曉夢;何曉明;李峰;劉碩;宋炳雨 | 申請(專利權)人: | 濰柴動力股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/73 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 張寧;劉芳 |
| 地址: | 261061 山東省濰坊*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 全局變量 檢測 方法 裝置 終端設備 | ||
本發明實施例提供一種全局變量的檢測方法、裝置及終端設備,該方法包括獲取待編譯的工程文件包,其中工程文件包包括多個源文件,從多個源文件中選取目標源文件,并獲取輔助文件,其中輔助文件包括多個源文件中的已經進行編譯處理的源文件所定義的全局變量,對目標源文件和輔助文件進行編譯處理,在對目標源文件和輔助文件進行編譯處理的過程中,若目標源文件所定義的目標全局變量中存在與輔助文件中的全局變量相同的重復定義變量,則停止進行編譯處理,并生成報警信息發送至報警裝置,相較于在鏈接過程才進行重復定義的檢測,在編譯過程就進行重復定義的檢測可以減少全局變量重復定義的檢測所需時間,提高檢測效率。
技術領域
本發明實施例涉及軟件技術領域,尤其涉及一種全局變量的檢測方法、裝置及終端設備。
背景技術
源文件是指由源程序和數據構成的文件,在軟件工程開發的過程中,開發人員通常需要在源文件中定義全局變量,在某個源文件內定義的全局變量可以被該源文件所在的工程文件包中的所有源文件內的對象或函數引用。為了避免由于全局變量重復定義導致的軟件運行出現問題,通常需要進行全局變量重復定義檢查。
現有技術中,沒有依賴關系的文件在進行全局變量重復定義檢查時,一般是在程序的鏈接過程中,檢查工程文件包中的各個源文件中是否存在重復定義的全局變量,當確定存在重復定義的全局變量時,提示用戶進行修改,來確保軟件的正常鏈接。
然而,發明人發現現有技術中至少存在如下問題:由于在程序的鏈接過程才檢查是否存在重復定義的全局變量,當代碼量較大時,鏈接過程耗時較長,全局變量的重復定義檢查時間較長。
發明內容
本發明實施例提供一種全局變量的檢測方法、裝置及終端設備,以減少全局變量的重復定義檢查時間。
第一方面,本發明實施例提供一種全局變量的檢測方法,包括:
獲取待編譯的工程文件包,其中所述工程文件包包括多個源文件;
從所述多個源文件中選取目標源文件,并獲取輔助文件,其中所述輔助文件包括所述多個源文件中的已經進行編譯處理的源文件所定義的全局變量;
對所述目標源文件和所述輔助文件進行編譯處理;
在對所述目標源文件和所述輔助文件進行編譯處理的過程中,若所述目標源文件所定義的目標全局變量中存在與所述輔助文件中的全局變量相同的重復定義變量,則停止進行編譯處理,并生成報警信息發送至報警裝置。
在一種可能的設計中,在所述對所述目標源文件和所述輔助文件進行編譯處理之后,還包括:
獲取目標文件,其中所述目標文件為對所述目標源文件進行編譯處理后得到的文件;
根據所述目標文件,獲取所述目標源文件所定義的目標全局變量;
將獲取到的目標全局變量添加至所述輔助文件中,并繼續從所述多個源文件中選取目標源文件。
在一種可能的設計中,所述根據所述目標文件,獲取所述目標源文件所定義的目標全局變量,包括:
對所述目標文件進行分析,得到所述目標文件對應的符號表;
若所述符號表中存在目標屬性所對應的屬性值為預設屬性值的變量,則確定所述變量為所述目標全局變量。
在一種可能的設計中,在所述將獲取到的目標全局變量添加至所述輔助文件中之后,還包括:
判斷所述多個源文件中是否存在未進行編譯處理的源文件;
若不存在未進行編譯處理的源文件,則對所述輔助文件進行編譯處理;
在對所述輔助文件進行編譯處理的過程中,若所述輔助文件中存在相同的全局變量,則停止進行編譯處理,并生成報警信息發送至報警裝置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于濰柴動力股份有限公司,未經濰柴動力股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910944880.0/2.html,轉載請聲明來源鉆瓜專利網。





