[發(fā)明專利]一種編譯器及軟件管理存儲器的重用優(yōu)化方法有效
| 申請?zhí)枺?/td> | 201210372306.0 | 申請日: | 2012-09-28 |
| 公開(公告)號: | CN102880497A | 公開(公告)日: | 2013-01-16 |
| 發(fā)明(設(shè)計(jì))人: | 尉紅梅;王超;漆鋒濱;王飛;錢宏 | 申請(專利權(quán))人: | 無錫江南計(jì)算技術(shù)研究所 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45;G06F3/06 |
| 代理公司: | 北京集佳知識產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 駱蘇華 |
| 地址: | 214083 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 編譯器 軟件 管理 存儲器 重用 優(yōu)化 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及重用優(yōu)化技術(shù)領(lǐng)域,尤其涉及一種編譯器及軟件管理存儲器的重用優(yōu)化方法。
背景技術(shù)
目前,fortran語言支持公用(common)塊的重用,fortran語言中對于同名的common塊,其數(shù)據(jù)可存放在同一段地址空間中,如下例所示:
Common/aa/x,y,z,w[10];
Common/aa/a,b,c,d[10];
對于這種定義形式,其中,x和a的存儲地址是一致的,同樣y和b,z和c及w[10]和d[10]也存放在同一段地址空間中,通過這種方式fortran語言可支持空間重用。
在現(xiàn)有技術(shù)中,C語言并不能支持空間重用,然而基于C語言的軟件管理存儲器容量小,不能滿足技術(shù)發(fā)展的需求,因此,如何實(shí)現(xiàn)軟件管理存儲器的重用優(yōu)化成為亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種編譯器及軟件管理存儲器的重用優(yōu)化方法,用于對軟件管理存儲器進(jìn)行重用優(yōu)化,實(shí)現(xiàn)軟件管理存儲器的空間重用分配。
本發(fā)明實(shí)施例中提供的編譯器包括:
分析模塊,用于根據(jù)待寫入軟件管理存儲器的變量的排布方式增加關(guān)鍵字,將所述關(guān)鍵字及所述變量的信息發(fā)送給編譯模塊;
所述編譯模塊,用于識別所述關(guān)鍵字,為所述關(guān)鍵字設(shè)置重用標(biāo)識;對設(shè)置了重用標(biāo)識的關(guān)鍵字對應(yīng)的變量生成具有重用特征的代碼形式,將所述具有重用特征的代碼形式發(fā)送給鏈接模塊;
所述鏈接模塊,用于根據(jù)所述具有重用特征的代碼形式生成臨時鏈接腳本,對所述臨時鏈接腳本進(jìn)行鏈接處理,并進(jìn)行重用變量的排布,實(shí)現(xiàn)軟件管理存儲器的空間重用分配。
優(yōu)選的,編譯模塊包括:
前端語法分析模塊,用于識別所述關(guān)鍵字,為所述關(guān)鍵字設(shè)置重用標(biāo)識;
后端代碼生成模塊,用于針對設(shè)置了重用標(biāo)識的關(guān)鍵字對應(yīng)的變量生成具有重用特征的代碼形式,將所述具有重用特征的代碼形式發(fā)送給所述鏈接模塊。
優(yōu)選的,所述分析模塊包括:
階段劃分模塊,用于根據(jù)待寫入軟件管理存儲器的變量的活躍區(qū)間劃分階段;
排布確定模塊,用于利用構(gòu)建線性規(guī)劃模型確定劃分階段后的變量的排布方式;
關(guān)鍵字增加及信息發(fā)送模塊,用于按照所述變量的排布方式增加關(guān)鍵字,將所述關(guān)鍵字及所述變量的信息發(fā)送給所述編譯模塊。
本發(fā)明實(shí)施例中提供的一種軟件管理存儲器的重用優(yōu)化方法包括:
編譯器根據(jù)待寫入軟件管理存儲器的變量的排布方式增加關(guān)鍵字;
所述編譯器為所述關(guān)鍵字設(shè)置重用標(biāo)識,對設(shè)置了重用標(biāo)識的關(guān)鍵字對應(yīng)的變量生成具有重用特征的代碼形式;
所述編譯器根據(jù)所述具有重用特征的代碼形式生成臨時鏈接腳本;
所述編譯器對所述臨時鏈接腳本進(jìn)行鏈接處理,并進(jìn)行重用變量的排布,實(shí)現(xiàn)軟件管理存儲器的空間重用分配。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
編譯器中的分析模塊根據(jù)待寫入軟件管理存儲器的變量的排布方式增加關(guān)鍵字,通過增加關(guān)鍵字的方式定義了重用變量結(jié)構(gòu),使得可在管理存儲器上開辟一段重用空間,使得不同的變量可以重用局存空間。此外,鏈接模塊可生成臨時鏈接腳本,并利用該臨時鏈接腳本進(jìn)行鏈接處理,能夠有效實(shí)現(xiàn)軟件管理存儲器空間重用分配。
附圖說明
圖1為本發(fā)明實(shí)施例中編譯器的結(jié)構(gòu)的一個示意圖;
圖2為本發(fā)明實(shí)施例中變量階段劃分及變量的排布方式的示意圖;
圖3為本發(fā)明實(shí)施例中軟件管理存儲器的重用優(yōu)化方法的一個示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種編譯器及軟件管理存儲器的重用優(yōu)化方法,用于對軟件管理存儲器進(jìn)行重用優(yōu)化,實(shí)現(xiàn)軟件管理存儲器的空間重用分配。
請參與圖1,為本發(fā)明實(shí)施例中編譯器的結(jié)構(gòu)的實(shí)施例,包括:
分析模塊101,用于根據(jù)待寫入軟件管理存儲器的變量的排布方式增加關(guān)鍵字,將關(guān)鍵字及變量的信息發(fā)送給編譯模塊102;
編譯模塊102,用于識別關(guān)鍵字,為關(guān)鍵字上設(shè)置重用標(biāo)識;對設(shè)置了重用標(biāo)識的關(guān)鍵字對應(yīng)的變量生成具有重用特征的代碼形式,將具有重用特征的代碼形式發(fā)送給鏈接模塊103;
鏈接模塊103,用于根據(jù)具有重用特征的代碼形式生成臨時鏈接腳本,對臨時鏈接腳本進(jìn)行鏈接處理,并進(jìn)行重用變量的排布,實(shí)現(xiàn)軟件管理存儲器的空間重用分配。
其中,編譯模塊102包括:
前端語法分析模塊104,用于識別關(guān)鍵字,為關(guān)鍵字設(shè)置重用標(biāo)識;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于無錫江南計(jì)算技術(shù)研究所,未經(jīng)無錫江南計(jì)算技術(shù)研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210372306.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動態(tài)惡意軟件分析來擴(kuò)展惡意軟件的動態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗(yàn)軟件的裝置與方法





