[發(fā)明專利]函數(shù)分析方法與內(nèi)存裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201610431993.7 | 申請(qǐng)日: | 2016-06-17 |
| 公開(公告)號(hào): | CN107168807B | 公開(公告)日: | 2021-09-03 |
| 發(fā)明(設(shè)計(jì))人: | 徐國(guó)將 | 申請(qǐng)(專利權(quán))人: | 慧榮科技股份有限公司 |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54 |
| 代理公司: | 上海專利商標(biāo)事務(wù)所有限公司 31100 | 代理人: | 陳亮 |
| 地址: | 中國(guó)臺(tái)灣新竹縣*** | 國(guó)省代碼: | 臺(tái)灣;71 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 函數(shù) 分析 方法 內(nèi)存 裝置 | ||
本發(fā)明涉及一種應(yīng)用于內(nèi)存裝置的函數(shù)管理方法,包括分析該內(nèi)存裝置的至少一API(Application Programming Interface)函數(shù)與至少一普通函數(shù)的對(duì)應(yīng)關(guān)系;藉由該對(duì)應(yīng)關(guān)系分析該至少一普通函數(shù)之間的調(diào)用關(guān)系;建立二維數(shù)組以分析該調(diào)用關(guān)系中是否具有循環(huán)(loop),并且當(dāng)該至少一普通函數(shù)中的一普通函數(shù)調(diào)用另一普通函數(shù)時(shí),檢查該被調(diào)用的普通函數(shù)的名稱,是否相同于該普通函數(shù)的名稱,以及是否相同于所有調(diào)用該普通函數(shù)的普通函數(shù)的名稱。
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于一種函數(shù)分析方法與內(nèi)存裝置,特別有關(guān)于一種能夠分析普通函數(shù)與API函數(shù)之間的對(duì)應(yīng)關(guān)系、普通函數(shù)之間的調(diào)用關(guān)系、以及檢視是否有循環(huán)發(fā)生的函數(shù)分析方法與內(nèi)存裝置。
背景技術(shù)
一般而言,內(nèi)存裝置會(huì)儲(chǔ)存許多內(nèi)部?jī)?chǔ)存程序(ISP,Internal Stored Program)。在一塊內(nèi)存中通常儲(chǔ)存了使用于不同功能模塊的內(nèi)部?jī)?chǔ)存程序。當(dāng)用戶要使用某個(gè)功能模塊時(shí),則上述功能模塊的內(nèi)部?jī)?chǔ)存程序的程序代碼會(huì)被加載到此內(nèi)存,以執(zhí)行被加載的程序代碼并且指定應(yīng)用程序編程接口(API,Application Programming Interface)函數(shù)(function)所對(duì)應(yīng)的普通函數(shù)。然而,內(nèi)存的儲(chǔ)存容量是有限的。如果上述普通函數(shù)之間的調(diào)用關(guān)系具有循環(huán)(loop),就會(huì)影響內(nèi)存裝置的訪問(wèn)時(shí)間與效能。
然而,搜尋上一層函數(shù)的字符串來(lái)找出循環(huán)會(huì)耗費(fèi)許多時(shí)間。此外,現(xiàn)行的函數(shù)管理方法無(wú)法直接藉由API函數(shù)分析出內(nèi)部?jī)?chǔ)存程序中的普通函數(shù)之間的上下調(diào)用關(guān)系而找出循環(huán)。因此,需要一種能夠分析普通函數(shù)與API函數(shù)之間的對(duì)應(yīng)關(guān)系、普通函數(shù)之間的調(diào)用關(guān)系以找出循環(huán)的函數(shù)分析方法,以提升內(nèi)存裝置的效能。
發(fā)明內(nèi)容
為了解決上述問(wèn)題,本發(fā)明提出一種藉由編譯程序(compiler)的映像檔案(mapfile)分析普通函數(shù)與API函數(shù)之間的對(duì)應(yīng)關(guān)系、以及分析普通函數(shù)之間的調(diào)用關(guān)系是否具有循環(huán)的函數(shù)管理方法,以提升內(nèi)存裝置的效能。此外,本發(fā)明所提出的函數(shù)分析方法以二維數(shù)組來(lái)仿真普通函數(shù)的調(diào)用以及數(shù)狀搜尋,讓使用者與研發(fā)人員能夠快速且有效率的找出函數(shù)調(diào)用關(guān)系中的循環(huán),避免因?yàn)檠h(huán)而影響效能。
本發(fā)明的一實(shí)施例提供了一種應(yīng)用于內(nèi)存裝置的函數(shù)分析方法,包括:建立該內(nèi)存裝置的至少一普通函數(shù)的普通函數(shù)數(shù)據(jù)庫(kù)以及至少一API函數(shù)的API函數(shù)數(shù)據(jù)庫(kù),其中該至少一API函數(shù)與該至少一普通函數(shù)藉由一編譯程序的映像檔案所取得;分析內(nèi)存裝置之該至少一API(Application Programming Interface)函數(shù)與該至少一普通函數(shù)的對(duì)應(yīng)關(guān)系;當(dāng)該至少一API函數(shù)中的任一者對(duì)應(yīng)到該至少一普通函數(shù),從該普通函數(shù)數(shù)據(jù)庫(kù)以及該API函數(shù)數(shù)據(jù)庫(kù)中取得具有對(duì)應(yīng)關(guān)系的該普通函數(shù)以及該API函數(shù),于該普通函數(shù)數(shù)據(jù)庫(kù)中標(biāo)記該普通函數(shù)對(duì)應(yīng)該API函數(shù),并且將該普通函數(shù)與該API函數(shù)的對(duì)應(yīng)關(guān)系記錄于一對(duì)應(yīng)關(guān)系數(shù)據(jù)庫(kù);藉由對(duì)應(yīng)關(guān)系分析至少一普通函數(shù)之間的調(diào)用關(guān)系;加載源頭函數(shù)并且設(shè)定階層數(shù)值為-1;設(shè)定指標(biāo)數(shù)值為0,其中該指標(biāo)數(shù)值用以標(biāo)示目前的該普通函數(shù);判斷該指標(biāo)數(shù)值是否小于該至少一普通函數(shù)的數(shù)量;當(dāng)該指標(biāo)數(shù)值小于該至少一普通函數(shù)的數(shù)量,判斷目前的該普通函數(shù)是否為該源頭函數(shù);建立二維數(shù)組以記錄調(diào)用關(guān)系,其中該二維數(shù)組的第一維數(shù)組用以記錄具有調(diào)用關(guān)系的普通函數(shù)以及被調(diào)用的普通函數(shù),該二維數(shù)組的第二維數(shù)組用以分別記錄普通函數(shù)可調(diào)用的全部普通函數(shù),以及記錄該被調(diào)用的普通函數(shù)可調(diào)用的全部普通函數(shù);當(dāng)目前的普通函數(shù)為該源頭函數(shù),遞增該階層數(shù)值,并且判斷該調(diào)用關(guān)系中是否具有循環(huán);以及遞增該指標(biāo)數(shù)值,并再度判斷該指標(biāo)數(shù)值是否小于普通函數(shù)的數(shù)量;。其中在判斷該調(diào)用關(guān)系中是否具有循環(huán)的步驟中,當(dāng)至少一普通函數(shù)中的一普通函數(shù)調(diào)用另一普通函數(shù)時(shí),檢查被調(diào)用的普通函數(shù)的名稱,是否相同于普通函數(shù)的名稱,以及是否相同于所有調(diào)用普通函數(shù)的普通函數(shù)的名稱。在分析調(diào)用關(guān)系中是否具有循環(huán)的步驟中,當(dāng)被調(diào)用的普通函數(shù)的名稱,相同于普通函數(shù)的名稱,或是相同于所有調(diào)用普通函數(shù)的普通函數(shù)的名稱,則表示調(diào)用關(guān)系具有循環(huán)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于慧榮科技股份有限公司,未經(jīng)慧榮科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610431993.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





