亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種可去除不需要編譯的冗余文件的方法

文檔序號:6467903閱讀:211來源:國知局
專利名稱:一種可去除不需要編譯的冗余文件的方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件編譯領(lǐng)域,特別涉及一種可去除不需要編譯的冗余文件的方法。
背景技術(shù)
—般而言,為了讓軟件開發(fā)人員可在不同平臺(例如X86平臺、ARM平臺)下進(jìn)行 軟件開發(fā),源文件中通常都存有數(shù)種平臺所需使用到的不同文件,以便讓源文件符合通用 性。 然而,當(dāng)軟件開發(fā)人員使用一些圖形化使用者界面(Graphical User Interface, GUI)的代碼文本開發(fā)工具(例如Source Insight軟件編輯器)的時候,由于源文件中存在 許多當(dāng)前環(huán)境下的冗余文件,因此在進(jìn)行函數(shù)跟蹤的時候,往往會找到很多同名的函數(shù),從 而無法找到確切需要跟蹤的函數(shù)名。 如此一來,對于軟件開發(fā)人員而言,就會在進(jìn)行讀寫代碼時造成了很多的不便。盡 管有些代碼有詳細(xì)注釋,讓軟件開發(fā)人員可以根據(jù)注釋來判別代碼是否適用于當(dāng)前環(huán)境, 然而人為區(qū)分的方式畢竟易有人為錯誤產(chǎn)生,導(dǎo)致判別結(jié)果并非百分百準(zhǔn)確。此外,對于那 些沒有詳細(xì)注釋的代碼,軟件開發(fā)人員就需要做很多額外的工作來確定代碼的走向,因而 對軟件開發(fā)人員的工作造成了很大的困擾,甚至常常因此對軟件開發(fā)工作造成一定程度的 誤導(dǎo)。

發(fā)明內(nèi)容
本發(fā)明提供了一種可去除不需要編譯的冗余文件的方法,其可方便軟件開發(fā)人員 開發(fā)軟件,同時提高軟件開發(fā)人員的工作效率。 本發(fā)明提出了一種可去除不需要編譯的冗余文件的方法。此方法包括有下列步 驟其一是在一平臺下,利用欲編譯的源文件產(chǎn)生對應(yīng)上述平臺的系統(tǒng)參數(shù)及系統(tǒng)環(huán)境的 描述檔。其二是提供一腳本,此腳本具有可修改檔名的第一程序段,且此第一程序段用以比 對源文件與描述檔中的文件名稱,并將源文件中所有未列入描述檔的文件視為于上述平臺 下不需要編譯的文件,進(jìn)而以第一規(guī)則將這些文件的名稱修改成代碼文本開發(fā)工具無法識 別的名稱。其三是利用腳本讀取描述檔,以便運(yùn)用第一程序段去除源文件中不需要編譯的 冗余文件。 依照本發(fā)明一實(shí)施例所述,上述的第一規(guī)則是將前述平臺下不需要編譯的文件的 名稱添加后綴。 依照本發(fā)明一實(shí)施例所述,上述的第一程序段所執(zhí)行的步驟包括其一是取得源 文件中,具有特定副檔名的一文件名稱的主檔名。其二是定義一更替名稱為上述文件名稱 再加上一后綴。其三是以取得的主檔名來尋找描述檔中是否有同名的文件,當(dāng)沒有找到時, 便將源文件中具有上述文件名稱的文件更名為上述更替名稱。 依照本發(fā)明一實(shí)施例所述,上述的第一程序段所執(zhí)行的步驟包括其一是從列出 了源文件中所有具有特定副檔名的文件名稱的第一列表文件中,以點(diǎn)為分隔來取得一文件名稱中的第一欄位內(nèi)容,并將第一欄位內(nèi)容丟至第一變量中。其二是令第二變量的內(nèi)容為 上述文件名稱再加上一后綴。其三是以第一變量的內(nèi)容來尋找描述檔中是否有同名的文 件,當(dāng)沒有找到時,就將源文件中具有上述文件名稱的文件的檔案內(nèi)容移動到以第二變量 的內(nèi)容為文件名稱的文件中。 依照本發(fā)明一實(shí)施例所述,上述的腳本更具有可恢復(fù)原檔名的第二程序段,此第
二程序段以相應(yīng)于第一規(guī)則的第二規(guī)則將所有修改過名稱的文件恢復(fù)其原檔名,以便于軟 件編譯完成時,可運(yùn)用第二程序段執(zhí)行恢復(fù)原檔名的操作。 依照本發(fā)明一實(shí)施例所述,上述的第二規(guī)則是將所添加的后綴刪除。 依照本發(fā)明一實(shí)施例所述,上述的第二程序段所執(zhí)行的步驟包括其一是取得源
文件中,具有上述后綴的一文件名稱的原主檔名及原副檔名。其二是將源文件中,具有上述
文件名稱的文件變更為以上述原主檔名及原副檔名來作為其文件名稱。 依照本發(fā)明一實(shí)施例所述,上述的第二程序段所執(zhí)行的步驟包括其一是從列出 了源文件中所有具有上述后綴的文件名稱的第二列表文件中,取得一文件名稱,并將此文 件名稱丟至第一變量中。其二是以點(diǎn)為分隔來取得上述文件名稱中的第一欄位內(nèi)容及第 二欄位內(nèi)容,并將第一欄位內(nèi)容及第二欄位內(nèi)容分別丟至第二變量及第三變量中。其三是 將源文件中,以第一變量的內(nèi)容為文件名稱的文件的檔案內(nèi)容移動到依序以第二變量的內(nèi) 容、一點(diǎn)及第三變量的內(nèi)容為文件名稱的文件中。 本發(fā)明由于撰寫了一腳本,此腳本具有可修改檔名的第一程序段,且此第一程序 段用以比對源文件與描述檔中的文件名稱,并將源文件中所有未列入描述檔的文件視為于 上述平臺下不需要編譯的文件,進(jìn)而以第一規(guī)則將這些文件的名稱修改成代碼文本開發(fā)工 具無法識別的名稱。因此,只要軟件開發(fā)人員在一平臺下,利用欲編譯的源文件產(chǎn)生對應(yīng)上 述平臺的系統(tǒng)參數(shù)及系統(tǒng)環(huán)境的描述檔,并利用上述腳本讀取描述檔,就可運(yùn)用第一程序 段去除源文件中不需要編譯的冗余文件。這樣一來,軟件開發(fā)人員就可以很方便地開發(fā)軟 件,且軟件開發(fā)人員的工作效率也得以提高。 此外,在撰寫上述腳本時,若能同時撰寫一個可恢復(fù)原檔名的第二程序段,而此第 二程序段是以相應(yīng)于第一規(guī)則的第二規(guī)則將所有修改過名稱的文件恢復(fù)其原檔名。這樣一 來,軟件開發(fā)人員就可在軟件編譯完成時,運(yùn)用上述第二程序段執(zhí)行恢復(fù)原檔名的操作,恢 復(fù)源文件的完整性。


為讓本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,以下結(jié)合附圖對本發(fā)明的具 體實(shí)施方式作詳細(xì)說明,其中 圖1為依照本發(fā)明一實(shí)施例的可去除不需要編譯的冗余文件的方法的流程;
圖2為圖1所述的第一程序段所執(zhí)行步驟的一實(shí)施例; 圖3為使用具有第一程序段及第二程序段的腳本來進(jìn)行軟件編譯的流程;
圖4為圖3所述的第二程序段所執(zhí)行步驟的一實(shí)施例;
圖5為前述所舉腳本的第一程序段的主要流程;
圖6為前述所舉腳本的第二程序段的主要流程;
圖7為源文件改變前的內(nèi)容;
圖8為源文件改變后的內(nèi)容。
具體實(shí)施例方式
以下結(jié)合附圖,具體說明本發(fā)明。 圖1為依照本發(fā)明一實(shí)施例的可去除不需要編譯的冗余文件的方法的流程。如圖 所示,此方法首先是在一平臺(例如X86平臺、ARM平臺)下,利用欲編譯的源文件產(chǎn)生對 應(yīng)上述平臺的系統(tǒng)參數(shù)及系統(tǒng)環(huán)境的描述檔(如步驟S102所示)。以Li皿x系統(tǒng)為例,于 步驟S102中所產(chǎn)生的描述檔就是一makefile。接著,提供一腳本(即一 script),此腳本 具有可修改檔名的第一程序段,且此第一程序段用以比對源文件與描述檔中的文件名稱, 并將源文件中所有未列入描述檔的文件視為于上述平臺下不需要編譯的文件,進(jìn)而以第一 規(guī)則將這些文件的名稱修改成代碼文本開發(fā)工具(例如Source Insight軟件編輯器)無 法識別的名稱(如步驟S 104所示)。然后,利用腳本讀取描述檔,以便運(yùn)用第一程序段去 除源文件中不需要編譯的冗余文件(如步驟S106所示)。這樣一來,只要撰寫好上述腳本, 軟件開發(fā)人員就可以運(yùn)用此腳本而方便地開發(fā)軟件,且軟件開發(fā)人員的工作效率也得以提 高。值得一提的是,由于上述步驟S102及S104 二者之間并無必然的先后關(guān)系,故哪一個步 驟先執(zhí)行可完全視實(shí)際的需要而定。 在此例中,上述的第一規(guī)則是將前述平臺下不需要編譯的文件的名稱添加后綴。 而所謂的后綴,就是在文件名稱后所添加的一切文字及符號,也就是副檔名后所加上的文 字及符號。因此,第一程序段所執(zhí)行的步驟便可如圖2所示。圖2即為圖1所述的第一程序 段所執(zhí)行步驟的一實(shí)施例。如圖2所示,此第一程序段所執(zhí)行的步驟主要包括有首先,取 得源文件中,具有特定副檔名(例如.c及.cpp)的一文件名稱的主檔名(如步驟S202所 示)。接著,定義一更替名稱為上述文件名稱再加上一后綴(如步驟S204所示)。然后,以 取得的主檔名來尋找描述檔中是否有同名的文件,當(dāng)沒有找到時,便將源文件中具有上述 文件名稱的文件更名為上述更替名稱(如判斷步驟S206及執(zhí)行步驟S208所示)。此外,還 有包括有一步驟,就是當(dāng)有找到同名的文件時,則不進(jìn)行處理(如步驟S210所示)。據(jù)此, 只要第一程序段重復(fù)地執(zhí)行此流程,就能將源文件中不需要編譯的冗余文件通通去除。
進(jìn)一步地,若在撰寫上述腳本時,能同時撰寫一個可恢復(fù)原檔名的第二程序段,而 此第二程序段是以相應(yīng)于第一規(guī)則的第二規(guī)則將所有修改過名稱的文件恢復(fù)其原檔名,這 樣一來,軟件開發(fā)人員就可在軟件編譯完成時,運(yùn)用上述第二程序段執(zhí)行恢復(fù)原檔名的操 作,恢復(fù)源文件的完整性。是以,編譯軟件的流程便可如圖3所示。 圖3為使用具有第一程序段及第二程序段的腳本來進(jìn)行軟件編譯的流程。在此 圖所示流程中,首先是在一平臺下,利用欲編譯的源文件產(chǎn)生對應(yīng)上述平臺的系統(tǒng)參數(shù)及 系統(tǒng)環(huán)境的描述檔(如步驟S302所示)。接著,提供一腳本,此腳本具有可修改檔名的第 一程序段及可恢復(fù)原檔名的第二程序段,且此第一程序段用以比對源文件與描述檔中的文 件名稱,并將源文件中所有未列入描述檔的文件視為于上述平臺下不需要編譯的文件,進(jìn) 而以第一規(guī)則將這些文件的名稱修改成代碼文本開發(fā)工具無法識別的名稱,而此第二程序 段以相應(yīng)于第一規(guī)則的第二規(guī)則將所有修改過名稱的文件恢復(fù)其原檔名(如步驟S304所 示)。然后,利用腳本讀取描述檔,以便運(yùn)用第一程序段去除源文件中不需要編譯的冗余文 件(如步驟S306所示)。接下來,將所需編譯的軟件編譯完成(如步驟S308所示)。然后,運(yùn)用第二程序段執(zhí)行恢復(fù)原檔名的操作(如步驟S310所示)。值得一提的是,由于上述步 驟S302及S304 二者之間并沒有必然的先后關(guān)系,故哪一個步驟先執(zhí)行可完全視實(shí)際的需 要而定。 續(xù)接上例,若上述第一規(guī)則是將前述平臺下不需要編譯的文件的名稱添加后綴, 那么上述第二規(guī)則就是將所添加的后綴刪除。因此,第二程序段所執(zhí)行的步驟便可如圖4 所示。圖4即為圖3所述的第二程序段所執(zhí)行步驟的一實(shí)施例。如圖4所示,在此第二程
序段所執(zhí)行的步驟中,首先是取得源文件中,具有上述后綴的一文件名稱的原主檔名及原 副檔名(如步驟S402所示)。接著,將源文件中,具有上述文件名稱的文件變更為以上述原 主檔名及原副檔名來作為其文件名稱(如步驟S404所示)。據(jù)此,只要第二程序段重復(fù)地 執(zhí)行此流程,便可將所有修改過名稱的文件恢復(fù)其原檔名,恢復(fù)源文件的完整性。
以下將以在Li皿x系統(tǒng)及X86平臺下編譯軟件為例,來舉出上述腳本的其中一種 撰寫方式,且所舉出的腳本具有前述第一程序段及第二程序段。在以下所舉出的腳本中,每 一行代碼的后面都會附上該行的序數(shù),以便在后續(xù)說明中依序解釋每行代碼的意義。所舉 腳本的詳細(xì)代碼如下所示 separate, sh (1)
# ! /bin/sh (2)
rm-flist (3)
Is*, c*. cpp > list 2 > NULL (4)
if [$# = 0] ;then (5)
echo Need input parameter (6)
elif[$l=〃 cleaR〃 ] ;then (7)
#echo clear (8)
for string in$(cat list) (9)
do (10)
string—name = —echo $stringIcut_fl_d〃 .〃 — (11)
#echo$string_name (12)
#echo $string (13)
string_temp = $string〃 . tmpbak" (14)
#echo $string_temp (15)
gr印-s $string_name Makefile > NULL| |mv$string $string_temp (16)
done (17)
elif[$l=〃 recover" ] ;then (18)
rm-flist (19)
Is*, tmpbak > list 2 > NULL (20)
for string_temp in$(cat list) (21)
do (22)
string—name =—echo $string_temp|cut-fl_d〃 .〃 — (23)
string_ex = — echo $string_temp|cut_f2_d〃 .〃 — (24)
#echo $string_name〃 . 〃 $string_ex (25)
mv $string_temp $string_name〃 . 〃 $string_ex (26)
done (27)
else (28)
echo No match parameter (29)
fi (30) 必須先提醒的是,在上述詳細(xì)代碼中,以#為開頭的都是注解用,#后的文字皆視 為注解文字而可忽略不執(zhí)行,可供測試用。此外,以下述及的欄位都是以"."來做分隔,舉例 來說,若一文件名稱為rdpsncLsun. c,那么點(diǎn)的前面就是第一欄位,其內(nèi)容為rdpSnd_sun, 而點(diǎn)的后面就是第二欄位,其內(nèi)容為c。再舉一例,若一文件名稱為rdpsnd_sun. c. tmpbak, 那么第一欄位的內(nèi)容為rdpsncLs皿,第二欄位的內(nèi)容為c,而第三欄位的內(nèi)容為tmpbak。以 下將逐一解釋所舉腳本中,每行代碼的意義


文件中,有錯誤的就丟掉 :
:
的字串
:
是否執(zhí)行第一程序段
1) 行-表示此腳本的名稱
2) 行_宣告這個腳本使用的shell名稱 :3)行-強(qiáng)制刪除list文件
4)行_將源文件中所有副檔名為.c及.cpp的文件名稱都列到新增的list
:5)行-為第一個條件判斷式,判斷使用者是否沒有輸入任何字串 :6)行_當(dāng)?shù)谝粋€條件判斷式的判斷結(jié)果為是時,印出Need inputparameter
7)行一為第二個條件判斷式,判斷使用者輸入的字串是否為clear,亦即判斷
8) 行一為注解,表示印出clear字串
9) 行_當(dāng)?shù)诙€條件判斷式的判斷結(jié)果為是時,以每次一行的方式來顯示 ;
;
1 ist文件中的內(nèi)容,并將顯示的內(nèi)容丟給變量string,然后執(zhí)行for回圈內(nèi)容
第(10)行-第二個條件判斷式的for回圈開始 第(11)行-將變量string的內(nèi)容當(dāng)作cut指令的輸入,讓cut指令以.做分隔 來取出變量string內(nèi)容中的第一欄位,并顯示此第一欄位,同時將此第一欄位作為變量 string_name的內(nèi)容 第(12)行-為注解,表示顯示變量string_name的內(nèi)容
第(13)行-為注解,表示顯示變量string的內(nèi)容 第(14)行-令變量string_temp的內(nèi)容為變量string的內(nèi)容再加上.tmpbak
第(15)行-為注解,表示顯示變量string_temp的內(nèi)容 第(16)行-用變量string—name的內(nèi)容作為關(guān)鍵字來尋找makefile中是否有同 名的文件,找到就丟掉,若沒有找到同名的文件,就將源文件中以變量string的內(nèi)容為名 稱的文件的檔案內(nèi)容移動到以變量string_temp的內(nèi)容為名稱的文件中
第(17)行-第二個條件判斷式的for回圈結(jié)束 第(18)行-為第三個條件判斷式,判斷使用者輸入的字串是否為recover,亦即判
斷是否執(zhí)行第二程序段 第(19)行-強(qiáng)制刪除list文件
第(20)行-將源文件中,所有名稱中具有.tmpbak的文件都列到新增的list文 件中,有錯誤的就丟掉 第(21)行_當(dāng)?shù)谌齻€條件判斷式的判斷結(jié)果為是時,以每次一行的方式來顯示 list文件中的內(nèi)容,并將顯示的內(nèi)容丟給變量string—temp,然后執(zhí)行for回圈內(nèi)容
第(22)行-第三個條件判斷式的for回圈開始 第(23)行-將變量string_temp的內(nèi)容當(dāng)作cut指令的輸入,讓cut指令以.做 分隔來取出變量string—temp內(nèi)容中的第一欄位,并顯示此第一欄位,同時將此第一欄位 作為變量string—name的內(nèi)容 第(24)行-將變量string_temp的內(nèi)容當(dāng)作cut指令的輸入,讓cut指令以.做 分隔來取出變量string—temp內(nèi)容中的第二欄位,并顯示此第二欄位,同時將此第二欄位 作為變量string_ex的內(nèi)容 第(25)行-為注解,表示顯示變量string_name的內(nèi)容、.、變量string_ex的內(nèi) 容 第(26)行-將源文件中,以變量string—temp的內(nèi)容為名稱的文件的檔案內(nèi)容移 動到依序以變量string_name的內(nèi)容、.、變量string_ex的內(nèi)容來作為名稱的文件中
第(27)行-第三個條件判斷式的for回圈結(jié)束 第(28)行-當(dāng)?shù)谝?、第二及第三個條件判斷式均不成立時,便執(zhí)行下一行指令
第(29)行-顯示No match parameter字串
第(30)行_結(jié)束 借由上述所舉腳本的各行代碼的解釋,可以歸納出由第8行開始至第17行結(jié)束的 第一程序段內(nèi)容,其主要是執(zhí)行圖5所示的步驟。圖5為前述所舉腳本的第一程序段的主 要流程。如圖5所示,此腳本的第一程序段所執(zhí)行的步驟主要包括有首先,從列出了源文 件中所有具有特定副檔名的文件名稱的第一列表文件中,以點(diǎn)為分隔來取得一文件名稱中 的第一欄位內(nèi)容,并將第一欄位內(nèi)容丟至第一變量中(如步驟S502所示)。接著,令第二變 量的內(nèi)容為上述文件名稱再加上一后綴(如步驟S504所示)。然后,以第一變量的內(nèi)容來 尋找描述檔中是否有同名的文件,當(dāng)沒有找到時,就將源文件中具有上述文件名稱的文件 的檔案內(nèi)容移動到以第二變量的內(nèi)容為文件名稱的文件中(如判斷步驟S506及執(zhí)行步驟 S508所示)。此外,還有包括有一步驟,就是當(dāng)有找到同名的文件時,則不進(jìn)行處理(如步 驟S510所示)。 簡單地說,上述步驟S502的意義,就是執(zhí)行圖2的步驟S202所述"取得源文件中, 具有特定副檔名的一文件名稱的主檔名"。上述步驟S504的意義,則是執(zhí)行圖2的步驟S204 所述"定義一更替名稱為上述文件名稱再加上一后綴"。而上述步驟S506的意義,就是執(zhí)行 圖2的步驟S206所述"以取得的主檔名來尋找描述檔中是否有同名的文件"。至于上述步 驟S508的意義,就是執(zhí)行圖2的步驟S208所述"將源文件中具有上述文件名稱的文件更名 為上述更替名稱"。此外,上述步驟S510的意義,就是執(zhí)行圖2的步驟S210所述"不進(jìn)行處 理"。據(jù)此,只要所舉腳本的第一程序段重復(fù)地執(zhí)行圖5的流程,就能將源文件中不需要編 譯的冗余文件通通去除。 此外,借由上述所舉腳本的各行代碼的解釋,也可以歸納出由第19行開始至第27 行結(jié)束的第二程序段內(nèi)容,其主要是執(zhí)行圖6所示的步驟。圖6為前述所舉腳本的第二程序段的主要流程。如圖6所示,此腳本的第二程序段所執(zhí)行的步驟主要包括有首先,從列 出了源文件中所有具有上述后綴的文件名稱的第二列表文件中,取得一文件名稱,并將此
文件名稱丟至第一變量中(如步驟S602所示)。接著,以點(diǎn)為分隔來取得上述文件名稱中 的第一欄位內(nèi)容及第二欄位內(nèi)容,并將第一欄位內(nèi)容及第二欄位內(nèi)容分別丟至第二變量及 第三變量中(如步驟S604所示)。然后,將源文件中,以第一變量的內(nèi)容為文件名稱的文 件的檔案內(nèi)容移動到依序以第二變量的內(nèi)容、一點(diǎn)及第三變量的內(nèi)容為文件名稱的文件中 (如步驟S606所示)。 簡單地說,上述步驟S602及S604的意義,就是執(zhí)行圖4的步驟S402所述"取得源 文件中,具有上述后綴的一文件名稱的原主檔名及原副檔名"。而上述步驟S606的意義,則 是執(zhí)行圖4的步驟S404所述"將源文件中,具有上述文件名稱的文件變更為以上述原主檔 名及原副檔名來作為其文件名稱"。據(jù)此,只要所舉腳本的第二程序段重復(fù)地執(zhí)行圖6的流 程,便可將所有修改過名稱的文件恢復(fù)其原檔名,恢復(fù)源文件的完整性。
承接上述,以下將介紹所舉腳本的使用方式,并圖示出源文件改變前及改變后的 差異。此外,亦假設(shè)已經(jīng)產(chǎn)生所需的makefile。圖7即為源文件改變前的內(nèi)容。在X86平臺 下要編譯此rdesktop的時候,一但執(zhí)行完configure,就可以從makefile中得知圖7中的 rdpsnd_libao. c、rdpsnd_sgi. c、rdpsnd_sun. c這三個文件(在圖中以虛框來標(biāo)示)是不需 要編譯的,因此若軟件開發(fā)人員需要使用代碼文本工具對代碼進(jìn)行查看與修改,就不需要 將這三個文件加入專案中。是以,軟件開發(fā)人員就可以在當(dāng)前目錄下運(yùn)行./s印arate. sh clear,以便將源文件中不需要編譯的冗余文件通通去除,其運(yùn)行結(jié)果如圖8所示。圖8即為 源文件改變后的內(nèi)容。由圖8可以知道,原名為rdpsnd_libao. c、 rdpsnd_sgi. c、 rdpsnd_ sun. c的這三個文件,都已經(jīng)加上了 . tmpbak這個后綴(更名的文件在圖中亦以虛框來標(biāo) 示),故軟件開發(fā)人員在使用代碼文本工具對代碼進(jìn)行查看與修改時,這三個更名的文件就 無法被代碼文本工具識別。當(dāng)需要將所有修改過名稱的文件恢復(fù)其原檔名,以便恢復(fù)源文 件的完整性時,只需要在當(dāng)前目錄下運(yùn)行./s印arate. sh recover即可。當(dāng)然,如果使用 者沒有輸入?yún)?shù),或者輸入了 clear、 recover以外的參數(shù),系統(tǒng)都會自動提醒使用者。
綜上所述,本發(fā)明由于撰寫了一腳本,此腳本具有可修改檔名的第一程序段,且此 第一程序段用以比對源文件與描述檔中的文件名稱,并將源文件中所有未列入描述檔的文 件視為于上述平臺下不需要編譯的文件,進(jìn)而以第一規(guī)則將這些文件的名稱修改成代碼文 本開發(fā)工具無法識別的名稱。因此,只要軟件開發(fā)人員在一平臺下,利用欲編譯的源文件產(chǎn) 生對應(yīng)上述平臺的系統(tǒng)參數(shù)及系統(tǒng)環(huán)境的描述檔,并利用上述腳本讀取描述檔,就可運(yùn)用 第一程序段去除源文件中不需要編譯的冗余文件。這樣一來,軟件開發(fā)人員就可以很方便 地開發(fā)軟件,且軟件開發(fā)人員的工作效率也得以提高。 此外,在撰寫上述腳本時,若能同時撰寫一個可恢復(fù)原檔名的第二程序段,而此第 二程序段是以相應(yīng)于第一規(guī)則的第二規(guī)則將所有修改過名稱的文件恢復(fù)其原檔名。這樣一 來,軟件開發(fā)人員就可在軟件編譯完成時,運(yùn)用上述第二程序段執(zhí)行恢復(fù)原檔名的操作,恢 復(fù)源文件的完整性。 以上公開的僅為本發(fā)明的幾個具體實(shí)施例,但本發(fā)明并非局限于此,任何本領(lǐng)域 的技術(shù)人員能思之的變化,都應(yīng)落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
一種可去除不需要編譯的冗余文件的方法,其特征在于,該方法包括在一平臺下,利用欲編譯的一源文件產(chǎn)生對應(yīng)該平臺的系統(tǒng)參數(shù)及系統(tǒng)環(huán)境的一描述檔;提供一腳本,該腳本具有可修改檔名的一第一程序段,該第一程序段用以比對該源文件與該描述檔中的文件名稱,并將該源文件中所有未列入該描述檔的文件視為于該平臺下不需要編譯的文件,進(jìn)而以一第一規(guī)則將這些文件的名稱修改成代碼文本開發(fā)工具無法識別的名稱;以及利用該腳本讀取該描述檔,以便運(yùn)用該第一程序段去除該源文件中不需要編譯的冗余文件。
2. 如權(quán)利要求1所述的可去除不需要編譯的冗余文件的方法,其特征在于,該第一規(guī) 則是將該平臺下不需要編譯的文件的名稱添加后綴。
3. 如權(quán)利要求2所述的可去除不需要編譯的冗余文件的方法,其特征在于,該第一程序段所執(zhí)行的步驟包括取得該源文件中,具有特定副檔名的一文件名稱的主檔名;定義一更替名稱為該文件名稱再加上一后綴;以及以取得的主檔名來尋找該描述檔中是否有同名的文件,當(dāng)沒有找到時,便將該源文件中具有該文件名稱的文件更名為該更替名稱。
4. 如權(quán)利要求3所述的可去除不需要編譯的冗余文件的方法,其特征在于,當(dāng)有找到時,則不進(jìn)行處理。
5. 如權(quán)利要求2所述的可去除不需要編譯的冗余文件的方法,其特征在于,該第一程序段所執(zhí)行的步驟包括從列出了該源文件中所有具有特定副檔名的文件名稱的一第一列表文件中,以點(diǎn)為分隔來取得一文件名稱中的一第一欄位內(nèi)容,并將該第一欄位內(nèi)容丟至一第一變量中;令一第二變量的內(nèi)容為該文件名稱再加上一后綴;以及以該第一變量的內(nèi)容來尋找該描述檔中是否有同名的文件,當(dāng)沒有找到時,就將該源文件中具有該文件名稱的文件的檔案內(nèi)容移動到以該第二變量的內(nèi)容為文件名稱的文件中。
6. 如權(quán)利要求5所述的可去除不需要編譯的冗余文件的方法,其特征在于,當(dāng)有找到時,則不進(jìn)行處理。
7. 如權(quán)利要求1所述的可去除不需要編譯的冗余文件的方法,其特征在于,該腳本更具有可恢復(fù)原檔名的一第二程序段,該第二程序段以相應(yīng)于該第一規(guī)則的一第二規(guī)則將所有修改過名稱的文件恢復(fù)其原檔名,以便于軟件編譯完成時,可運(yùn)用該第二程序段執(zhí)行恢復(fù)原檔名的操作。
8. 如權(quán)利要求7所述的可去除不需要編譯的冗余文件的方法,其特征在于,該第一規(guī)則是將該平臺下不需要編譯的文件的名稱添加后綴,而該第二規(guī)則是將所添加的后綴刪除。
9. 如權(quán)利要求8所述的可去除不需要編譯的冗余文件的方法,其特征在于,該第二程序段所執(zhí)行的步驟包括取得該源文件中,具有上述后綴的一文件名稱的原主檔名及原副檔名;以及將該源文件中,具有該文件名稱的文件變更為以上述原主檔名及原副檔名來作為其文 件名稱。
10. 如權(quán)利要求8所述的可去除不需要編譯的冗余文件的方法,其特征在于,該第二程序段所執(zhí)行的步驟包括從列出了該源文件中所有具有上述后綴的文件名稱的一第二列表文件中,取得一文件 名稱,并將該文件名稱丟至一第一變量中;以點(diǎn)為分隔來取得該文件名稱中的一第一欄位內(nèi)容及一第二欄位內(nèi)容,并將該第一欄 位內(nèi)容及該第二欄位內(nèi)容分別丟至一第二變量及一第三變量中;以及將該源文件中,以該第一變量的內(nèi)容為文件名稱的文件的檔案內(nèi)容移動到依序以該第 二變量的內(nèi)容、一點(diǎn)及該第三變量的內(nèi)容為文件名稱的文件中。
11. 如權(quán)利要求1所述的可去除不需要編譯的冗余文件的方法,其特征在于,該描述檔 為一 makef ile。
全文摘要
本發(fā)明提出一種可去除不需要編譯的冗余文件的方法。此方法包括有下列步驟其一是在一平臺下,利用欲編譯的源文件產(chǎn)生對應(yīng)上述平臺的系統(tǒng)參數(shù)及系統(tǒng)環(huán)境的描述檔。其二是提供一腳本,此腳本具有可修改檔名的第一程序段,且此第一程序段用以比對源文件與描述檔中的文件名稱,并將源文件中所有未列入描述檔的文件視為于上述平臺下不需要編譯的文件,進(jìn)而以第一規(guī)則將這些文件的名稱修改成代碼文本開發(fā)工具無法識別的名稱。其三是利用腳本讀取描述檔,以便運(yùn)用第一程序段去除源文件中不需要編譯的冗余文件。
文檔編號G06F9/45GK101727346SQ200810175708
公開日2010年6月9日 申請日期2008年10月31日 優(yōu)先權(quán)日2008年10月31日
發(fā)明者陳志偉, 黃錦波 申請人:英業(yè)達(dá)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1