欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法

文檔序號(hào):6376885閱讀:219來源:國知局
專利名稱:一種集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法
一種集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種軟件工程的集成開發(fā)環(huán)境領(lǐng)域,特別是可以優(yōu)化完善集成開發(fā)環(huán)境的工具鏈轉(zhuǎn)換擴(kuò)展方法。
背景技術(shù)
目前軟件工程中常用集成開發(fā)環(huán)境(IDE, Integrated DevelopmentEnviixmment)進(jìn)行開發(fā)工作。IDE通常由一個(gè)工程管理器、代碼編輯器、圖形界面、以及一套用于實(shí)現(xiàn)編譯鏈接的工具鏈組成。在IDE中開發(fā)軟件時(shí),開發(fā)人員通過圖形界面的菜單命令或者工具欄按鈕等方式啟動(dòng)調(diào)用編譯工具鏈實(shí)現(xiàn)代碼的編譯鏈接過程。一款I(lǐng)DE產(chǎn)品中,能夠?qū)崿F(xiàn)的編譯鏈接功能基本由IDE配套的工具鏈決定,IDE能夠支撐的軟件源文件也基本由IDE工程管理程序和工具鏈共同決定。部分IDE,例如Visual Studio,Eclipse等,·提供插件開發(fā)框架,可以供第三方添加新的功能。但是這種途徑添加新功能需要學(xué)習(xí)IDE插件接口框架,有的IDE接口框架還規(guī)定了特殊的語言環(huán)境,因此學(xué)習(xí)開發(fā)的成本很高。部分IDE,例如Code Blocks等,除提供插件開發(fā)框架外,還通過開源的方式,允許第三方修改IDE的功能。但是這種途徑需要開發(fā)人員學(xué)習(xí)了解IDE的整體代碼和開發(fā)環(huán)境,學(xué)習(xí)成本更高。另有部分IDE,例如Generalplus IDE、MAX_IDE等,由于是部分廠家針對(duì)自身產(chǎn)品開發(fā)的,沒有預(yù)留任何擴(kuò)展的接口。因此,在現(xiàn)有的技術(shù)條件下,要擴(kuò)展或修改IDE對(duì)軟件源文件和編譯鏈接行為,其技術(shù)門檻比較高,技術(shù)難度也比較大,實(shí)現(xiàn)方法的通用性也比較差。

發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題,在于提供一種集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,實(shí)現(xiàn)的IDE工具鏈的轉(zhuǎn)換擴(kuò)展,開發(fā)實(shí)現(xiàn)的技術(shù)代價(jià)小,方案可以在多種IDE上通用,并且可以有效保留原IDE和工具鏈的優(yōu)良特性。本發(fā)明是這樣實(shí)現(xiàn)的一種集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,首先創(chuàng)建IDE原始工具鏈文件副本,再用工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序替換該IDE中的原始工具鏈程序;然后由開發(fā)人員通過IDE啟動(dòng)某個(gè)源文件的編譯鏈接過程,在該編譯鏈接過程中由所述工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序完成編譯鏈接功能的擴(kuò)展轉(zhuǎn)換處理。本發(fā)明的所述工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序完成擴(kuò)展轉(zhuǎn)換處理的具體步驟如下步驟
I、當(dāng)某個(gè)源文件的編譯鏈接過程起始后,IDE首先啟動(dòng)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序,并傳入源文件、調(diào)用命令和參數(shù)數(shù)據(jù);步驟2、工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序接收源文件、調(diào)用命令并分析參數(shù)數(shù)據(jù);步驟3、接著,工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序創(chuàng)建一套進(jìn)程輸入輸出控制環(huán)境;步驟4、并以所述進(jìn)程輸入輸出控制環(huán)境,調(diào)用原始工具鏈文件副本中的原工具鏈程序?qū)λ鲈次募⒄{(diào)用命令和參數(shù)數(shù)據(jù)進(jìn)行執(zhí)行處理;步驟5、最終的處理結(jié)果返回給IDE前端進(jìn)行顯示和處理。本發(fā)明還可包括配置信息步驟如果具體實(shí)現(xiàn)方案中有配置數(shù)據(jù)的需求,則工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序讀取配置數(shù)據(jù);且該配置信息步驟在整個(gè)流程中任意不同位置或者任意同一位置,并被執(zhí)行一次或多次。其中,所述步驟2和步驟3之間還可包括步驟21、工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序判斷待編譯或鏈接的源文件內(nèi)容和格式是否是自定義的文件,若是,則運(yùn)行自處理過程,然后進(jìn)入步驟5 ;若否,則判斷為·待編譯或鏈接的源文件是常規(guī)文件,先根據(jù)需求執(zhí)行編譯或鏈接前的可選的預(yù)處理過程。其中,所述步驟21和步驟3之間還可包括步驟22、工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序根據(jù)目標(biāo)環(huán)境轉(zhuǎn)換輸入的調(diào)用命令和參數(shù)數(shù)據(jù);并在所述步驟4中調(diào)用原始工具鏈文件副本中的原工具鏈程序所執(zhí)行處理的調(diào)用命令和參數(shù)數(shù)據(jù)為經(jīng)該步驟22轉(zhuǎn)換后的調(diào)用命令和參數(shù)數(shù)據(jù)。其中,所述步驟4和步驟5之間還包括步驟41、原始工具鏈文件副本中的原工具鏈程序的執(zhí)行處理完成后,工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序再根據(jù)需求,對(duì)目標(biāo)數(shù)據(jù)文件進(jìn)行可選的后處理。其中,本發(fā)明根據(jù)具體IDE環(huán)境對(duì)編譯和鏈接的處理過程差異,上述的運(yùn)行流程可以在一次編譯、鏈接的過程中,被執(zhí)行I次或多次。本發(fā)明具有如下優(yōu)點(diǎn)I、本發(fā)明工具鏈轉(zhuǎn)換擴(kuò)展技術(shù)是利用了通用的進(jìn)程間通訊技術(shù),例如管道通信技術(shù),在IDE和原工具鏈之間加增了一個(gè)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序作為功能和數(shù)據(jù)的中間轉(zhuǎn)換層,以實(shí)現(xiàn)工具鏈行為的變更和擴(kuò)展效果。所以,該技術(shù)的實(shí)現(xiàn)方法,不依賴于具體的IDE架構(gòu),不依賴于具體的IDE擴(kuò)展框架,能夠適用于多種IDE環(huán)境,增加技術(shù)方案的使用工具的適用場合。2、工具鏈轉(zhuǎn)換擴(kuò)展技術(shù)是利用了通用的進(jìn)程間通訊技術(shù)實(shí)現(xiàn)的。進(jìn)程間通訊技術(shù),例如管道通信技術(shù),是現(xiàn)代操作系統(tǒng)上的通用技術(shù),與開發(fā)編程語言無關(guān),與具體IDE和工具鏈的架構(gòu)無關(guān),與具體IDE和工具鏈的開發(fā)工具無關(guān)。因此,該技術(shù)方案的實(shí)施無須學(xué)習(xí)某種特定框架、無須學(xué)習(xí)某種特殊語言,無須學(xué)習(xí)某種特定開發(fā)工具,實(shí)施的技術(shù)成本就很低,可以有效提高IDE工具鏈行為擴(kuò)展和改造的開發(fā)速度。3、由于工具鏈轉(zhuǎn)換擴(kuò)展技術(shù)是在IDE和原工具鏈之間加增了一個(gè)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序作為功能和數(shù)據(jù)的中間轉(zhuǎn)換層,對(duì)于IDE而言,其向下和工具鏈之間的通信調(diào)度的變更是透明的,不會(huì)被察覺;對(duì)于原工具鏈而言,其向上的和IDE之間的通信調(diào)度的變更也是透明的,不會(huì)被察覺。因此,IDE和原工具鏈仍然可以按照轉(zhuǎn)換擴(kuò)展之前的流程工作,其效果和性能不會(huì)受到影響。所以,本發(fā)明實(shí)現(xiàn)的工具鏈轉(zhuǎn)換和擴(kuò)展,能夠有效保持原IDE和工具鏈的優(yōu)良功能和特性。4、由于工具鏈轉(zhuǎn)換擴(kuò)展技術(shù)的基本思路是在IDE和原工具鏈之間加增一個(gè)中間轉(zhuǎn)換層,具體轉(zhuǎn)換和擴(kuò)展的行為由轉(zhuǎn)換層自行實(shí)現(xiàn)。因此,利用該記錄,既能實(shí)現(xiàn)對(duì)源文件編譯、鏈接前的預(yù)處理,也能實(shí)現(xiàn)對(duì)源文件編譯、鏈接后的再處理,還可以通過中間層識(shí)別出特定格式的源文件,進(jìn)行自行定義的編譯鏈接處理。此外,也能實(shí)現(xiàn)上述多種轉(zhuǎn)換和擴(kuò)展效果的組合處理。所以,該技術(shù)方案應(yīng)用后可轉(zhuǎn)換和擴(kuò)展出的功能很多,可得到的效果很豐
邑O
下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說明。圖I為本發(fā)明方法的軟件模塊與IDE環(huán)境的結(jié)構(gòu)關(guān)系圖。圖2為本發(fā)明方法執(zhí)行流程圖。
具體實(shí)施方式在Windows系統(tǒng)環(huán)境中,IDE調(diào)用工具鏈程序基本上都是通過管道通信技術(shù)的方式來實(shí)現(xiàn)的。本發(fā)明的集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,首先創(chuàng)建IDE原始工具鏈文件副本,再用工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序替換該IDE中的原始工具鏈程序;然后由開發(fā)人員通過IDE啟動(dòng)某個(gè)源文件的編譯鏈接過程,在該編譯鏈接過程中由所述工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序完成編譯鏈接功能的擴(kuò)展轉(zhuǎn)換處理。
如圖I所示,本發(fā)明的軟件架構(gòu)主要由工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602和配置信息集604組成。將本發(fā)明安裝集成進(jìn)IDE環(huán)境后,IDE前端601、原工具鏈執(zhí)行程序集603、以及本發(fā)明之間的結(jié)構(gòu)關(guān)系如圖I的箭頭所示。圖中實(shí)線表征了調(diào)用關(guān)系和調(diào)用命令及數(shù)據(jù)的流向,箭頭指向的為被調(diào)用方,即調(diào)用命令以及數(shù)據(jù)的送達(dá)方。圖中虛線表征了反饋數(shù)據(jù)的流向,箭頭指向的為反饋數(shù)據(jù)的送達(dá)方。原工具鏈執(zhí)行程序集603是IDE原配工具鏈可執(zhí)行程序文件的集合。其中包括I個(gè)或多個(gè)可執(zhí)行程序、動(dòng)態(tài)鏈接庫、以及各種數(shù)據(jù)文件。原工具鏈執(zhí)行程序集603中有I個(gè)或多個(gè)文件被修改為IDE前端不能自動(dòng)調(diào)用的形式。該修改可以通過文件重命名、移動(dòng)文件路徑等I種或多種方式來實(shí)現(xiàn)。這種修改便是創(chuàng)建原始工具鏈文件副本的一種具體形式。工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602是工具鏈轉(zhuǎn)換擴(kuò)展可執(zhí)行程序文件的集合。其中包括I個(gè)或多個(gè)可執(zhí)行程序、動(dòng)態(tài)連接庫、以及各種數(shù)據(jù)文件。工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602中有I個(gè)或多個(gè)文件,通過重命名和修改路徑等I種或多種方式,修改為可以被IDE前端識(shí)別為原配工具鏈可執(zhí)行程序文件且能被IDE前端自動(dòng)調(diào)用的文件形式。工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602中被修改的這些文件,必須能夠在數(shù)量、文件路徑、文件名上取代原工具鏈執(zhí)行程序集603中被修改了文件名或文件路徑的文件。配置信息集604是工具鏈轉(zhuǎn)換擴(kuò)展的配置信息集合。配置信息集604部分用于指導(dǎo)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602中程序的運(yùn)行行為。這種指導(dǎo)內(nèi)容包括但不局限于指導(dǎo)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602中的程序識(shí)別特殊的源文件格式、指導(dǎo)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602中的程序調(diào)用某個(gè)具體的原工具鏈文件、指導(dǎo)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602中的程序?qū)幾g前的源文件做指定的預(yù)處理、指導(dǎo)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602中的程序?qū)幾g后的目標(biāo)文件做再處理、指導(dǎo)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序集602中的程序組織對(duì)原工具鏈程序進(jìn)行調(diào)用時(shí)的控制命令,等等。配置信息集604屬于可選組成部分,針對(duì)具體需求的IDE工具鏈轉(zhuǎn)換擴(kuò)展方案中,可以修改、更換、或者取消對(duì)配置信息集604部分的設(shè)計(jì)。當(dāng)采用配置信息集604部分的設(shè)計(jì)時(shí),配置信息集604可以以注冊(cè)表數(shù)據(jù)、配置文件、命令行參數(shù)等形式出現(xiàn),但不局限于這些形式。再結(jié)合圖2所示,本發(fā)明的一實(shí)施例的具體步驟如下運(yùn)行的起始時(shí)機(jī)是開發(fā)人員通過IDE前端的菜單命令、或者工具欄按鈕、或者具體IDE特定的操作方法,激發(fā)對(duì)源文件的編譯和鏈接工作的時(shí)候。步驟I、當(dāng)某個(gè)源文件的編譯鏈接過程起始后,IDE首先啟動(dòng)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序,并傳入源文件、調(diào)用命令和參數(shù)數(shù)據(jù)。步驟2、工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序接收源文件、調(diào)用命令并分析參數(shù)數(shù)據(jù)。該步驟一般是通過管道通信實(shí)現(xiàn),但不局限于管道通信,具體的通信方式由具體的IDE環(huán)境決定。該步驟的通信在具體 開發(fā)環(huán)境中可能被描述為不同的專業(yè)術(shù)語。例如,在C語言中可以是標(biāo)準(zhǔn)輸入輸出文件,在C++中可以是標(biāo)準(zhǔn)輸入輸出流等等。配置數(shù)據(jù)步驟如果具體實(shí)現(xiàn)方案中有配置數(shù)據(jù)的需求,則工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序讀取配置數(shù)據(jù);且該配置信息步驟在整個(gè)流程中任意位置或者同一位置,并被執(zhí)行一次或多次。即該配置數(shù)據(jù)步驟是可選的。若本發(fā)明的具體實(shí)施過程中不存在圖I中的配置信息集604部分,則該配置數(shù)據(jù)步驟可以取消。當(dāng)存在該配置數(shù)據(jù)步驟的時(shí)候,其運(yùn)行的時(shí)機(jī)并不局限在這個(gè)位置,實(shí)施人員可以根據(jù)需要調(diào)整其在整個(gè)流程中的位置。同時(shí),該步驟并不一定是唯一執(zhí)行一次,根據(jù)具體需求,實(shí)施人員可以在整個(gè)流程中在不同位置或者同一位置多次被執(zhí)行。步驟21、工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序判斷待編譯或鏈接的源文件內(nèi)容和格式是否是自定義的文件,若是,則運(yùn)行自處理過程,然后進(jìn)入步驟5 ;若否,則判斷為待編譯或鏈接的源文件是常規(guī)文件,先根據(jù)需求執(zhí)行編譯或鏈接前的預(yù)處理過程。該步驟是可選的。若本發(fā)明的具體實(shí)施過程中不存在對(duì)源文件的特殊定義和處理,則可以取消該步驟。其中自處理過程的具體處理并不做特別限定,可以由實(shí)施人員根據(jù)特殊定義的源文件格式或數(shù)據(jù)進(jìn)行處理。預(yù)處理過程某次具體的運(yùn)行流程也可以根據(jù)具體源文件的格式、數(shù)據(jù)內(nèi)容、調(diào)用命令、參數(shù)、配置等內(nèi)容,決定該預(yù)處理過程是否被調(diào)用執(zhí)行。該預(yù)處理過程的處理內(nèi)容并不做特別限定,可以由實(shí)施人員根據(jù)具體需求進(jìn)行設(shè)計(jì)處理。步驟22、工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序根據(jù)目標(biāo)環(huán)境轉(zhuǎn)換輸入的調(diào)用命令和參數(shù)數(shù)據(jù)。該步驟是為了將步驟I中傳入的命令和參數(shù)加工為原工具鏈程序可以識(shí)別和處理的內(nèi)容,或者是將步驟I傳入的命令和參數(shù)轉(zhuǎn)換為能觸發(fā)原工具鏈程序執(zhí)行特定行為的內(nèi)容。步驟22是可選的,若本發(fā)明的具體實(shí)施過程中不存在對(duì)步驟I傳入的命令和參數(shù)進(jìn)行加工或轉(zhuǎn)換的需求,則可以取消步驟22。當(dāng)存在步驟2時(shí),某次具體的運(yùn)行流程也可以根據(jù)具體源文件的格式、數(shù)據(jù)內(nèi)容、調(diào)用命令、參數(shù)、配置等內(nèi)容,決定該步驟22是否被調(diào)用執(zhí)行。步驟22的處理內(nèi)容并不做特別限定,可以由實(shí)施人員根據(jù)具體需求進(jìn)行設(shè)計(jì)處理。步驟3、接著,工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序創(chuàng)建一套進(jìn)程輸入輸出控制環(huán)境。步驟3是為了創(chuàng)建一個(gè)進(jìn)程間輸入輸出的通信通道,用于在工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序和原工具鏈執(zhí)行程序之間交互數(shù)據(jù),進(jìn)而達(dá)到工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序?qū)υぞ哝湀?zhí)行程序進(jìn)行進(jìn)程的目的。步驟3推薦使用管道通信來實(shí)現(xiàn),但不局限于管道通信,實(shí)施人員也可以通過臨時(shí)文件等技術(shù)來實(shí)施步驟3的過程。但是,實(shí)施人員所選用的具體的進(jìn)程間輸入輸出的通信方法,必須能夠在不修改原工具鏈程序的內(nèi)部編碼的前提下,就能夠被原工具鏈程序所支持。步驟4、并以所述進(jìn)程輸入輸出控制環(huán)境,調(diào)用原始工具鏈文件副本中的原工具鏈程序?qū)λ鲈次募?、調(diào)用命令和參數(shù)數(shù)據(jù)進(jìn)行執(zhí)行處理;由于步驟22對(duì)調(diào)用命令和參數(shù)數(shù)據(jù)有進(jìn)行轉(zhuǎn)換,因此該步驟4中調(diào)用的是經(jīng)步驟22轉(zhuǎn)換后的調(diào)用命令和參數(shù)數(shù)據(jù)。步驟4是工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序?qū)υ脊ぞ哝溛募北局械脑ぞ哝湀?zhí)行程序的調(diào)用過程,即調(diào)用原工具鏈程序,執(zhí)行IDE原始支持的編譯、鏈接等功能。步驟41、原始工具鏈文件副本中的原工具鏈程序的執(zhí)行處理完成后,工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序再根據(jù)需求,對(duì)目標(biāo)數(shù)據(jù)文件進(jìn)行后處理。步驟41是可選的,若本發(fā)明的具體實(shí)施過程中不存在對(duì)源文件進(jìn)行編譯鏈接后的目標(biāo)文件的再處理,則可以取消步驟41。當(dāng)存在步驟41時(shí),某次具體的運(yùn)行流程也可以根據(jù)具體源文件的格式、數(shù)據(jù)內(nèi)容、調(diào)用命令、參數(shù)、配置、具體目標(biāo)文件的內(nèi)容、格式等內(nèi)容,決定步驟41是否被調(diào)用執(zhí)行。步驟41的處理內(nèi)容并不做特別限定,可以由實(shí)施人員根據(jù)具體需求進(jìn)行設(shè)計(jì)處理。步驟5、最終的處理結(jié)果都返回給IDE前端進(jìn)行顯示和處理。步驟5過程是將本次流程的結(jié)果信息反饋給IDE前端進(jìn)行顯示和處理。該與步驟2的要求類似,步驟5反饋數(shù)據(jù)的過程一般是通過管道通信實(shí)現(xiàn),但不局限于管道通信,具體的通信方式由具體的IDE環(huán)境決定。步驟5的通信在具體開發(fā)環(huán)境中可能被描述為不同的專業(yè)術(shù)語,如標(biāo)準(zhǔn)輸入輸出文件,標(biāo)準(zhǔn)輸入輸出流等等。步驟5在整個(gè)流程中并不限定為只執(zhí)行一次,也并不限定只·在流程末尾執(zhí)行。具體實(shí)施人員可以根據(jù)需求,在整個(gè)流程的一個(gè)位置或者多個(gè)位置,一次或多次執(zhí)行步驟5。其中,本發(fā)明根據(jù)具體IDE環(huán)境對(duì)編譯和鏈接的處理過程差異,上述的運(yùn)行流程可以在一次編譯、鏈接的過程中,被執(zhí)行I次或多次。除上述流程描述以外,具體實(shí)施人員可以在流程中,根據(jù)需求,添加輸出記錄信息,輸出臨時(shí)文件等流程。這些流程不破壞對(duì)IDE工具鏈的轉(zhuǎn)換和擴(kuò)展效果。本發(fā)明思想通俗的理解是假設(shè)IDE原工具鏈可執(zhí)行程序?yàn)锳,IDE擴(kuò)展和定制人員可以將原工具鏈的執(zhí)行程序A文件通過重命名或者移動(dòng)到其他目錄,成為文件B,即創(chuàng)建IDE原始工具鏈文件副本;然后用任意編程語言開發(fā)一個(gè)新的程序,代替原工具鏈的執(zhí)行程序A,該新的程序稱為Al。這樣,IDE啟動(dòng)編譯鏈接過程時(shí)就會(huì)調(diào)用程序Al。程序Al中可以使用另一份管道,操作被重命名或移動(dòng)目錄后的文件B。這樣,只要適當(dāng)編寫程序Al,就能夠?qū)崿F(xiàn)對(duì)源文件編譯鏈接前的預(yù)處理、編譯鏈接后的再處理、甚至可以實(shí)現(xiàn)對(duì)與IDE原先不支持的源文件的自處理。通過該思路實(shí)現(xiàn)的IDE工具鏈的轉(zhuǎn)換擴(kuò)展方法,開發(fā)實(shí)現(xiàn)的技術(shù)代價(jià)小,方案可以在多種IDE上通用,并且可以有效保留原IDE和工具鏈的優(yōu)良特征。雖然以上描述了本發(fā)明的具體實(shí)施方式
,但是熟悉本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,我們所描述的具體的實(shí)施例只是說明性的,而不是用于對(duì)本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應(yīng)當(dāng)涵蓋在本發(fā)明的權(quán)利要求所保護(hù)的范圍內(nèi)。
權(quán)利要求
1.一種集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,其特征在于首先創(chuàng)建IDE原始工具鏈文件副本,再用工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序替換該IDE中的原始工具鏈程序;然后由開發(fā)人員通過IDE啟動(dòng)某個(gè)源文件的編譯鏈接過程,在該編譯鏈接過程中由所述工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序完成編譯鏈接功能的擴(kuò)展轉(zhuǎn)換處理。
2.根據(jù)權(quán)利要求I所述的集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,其特征在于所述工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序完成擴(kuò)展轉(zhuǎn)換處理的具體步驟如下 步驟I、當(dāng)某個(gè)源文件的編譯鏈接過程起始后,IDE首先啟動(dòng)工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序,并傳入源文件、調(diào)用命令和參數(shù)數(shù)據(jù); 步驟2、工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序接收源文件、調(diào)用命令并分析參數(shù)數(shù)據(jù); 步驟3、接著,工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序創(chuàng)建一套進(jìn)程輸入輸出控制環(huán)境; 步驟4、并以所述進(jìn)程輸入輸出控制環(huán)境,調(diào)用原始工具鏈文件副本中的原工具鏈程序?qū)λ鲈次募?、調(diào)用命令和參數(shù)數(shù)據(jù)進(jìn)行執(zhí)行處理; 步驟5、最終的處理結(jié)果返回給IDE前端進(jìn)行顯示和處理。
3.根據(jù)權(quán)利要求2所述的集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,其特征在于還包括 配置信息步驟如果具體實(shí)現(xiàn)方案中有配置數(shù)據(jù)的需求,則工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序讀取配置數(shù)據(jù); 且該配置信息步驟在整個(gè)流程中任意不同位置或者任意同一位置,并被執(zhí)行一次或多次。
4.根據(jù)權(quán)利要求2所述的集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,其特征在于所述步驟2和步驟3之間還包括 步驟21、工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序判斷待編譯或鏈接的源文件內(nèi)容和格式是否是自定義的文件,若是,則運(yùn)行自處理過程,然后進(jìn)入步驟5 ;若否,則判斷為待編譯或鏈接的源文件是常規(guī)文件,先根據(jù)需求執(zhí)行編譯或鏈接前的可選的預(yù)處理過程。
5.根據(jù)權(quán)利要求4所述的集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,其特征在于所述步驟21和步驟3之間還包括 步驟22、工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序根據(jù)目標(biāo)環(huán)境轉(zhuǎn)換輸入的調(diào)用命令和參數(shù)數(shù)據(jù);并在所述步驟4中調(diào)用原始工具鏈文件副本中的原工具鏈程序所執(zhí)行處理的調(diào)用命令和參數(shù)數(shù)據(jù)為經(jīng)該步驟22轉(zhuǎn)換后的調(diào)用命令和參數(shù)數(shù)據(jù)。
6.根據(jù)權(quán)利要求I所述的集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,其特征在于所述步驟4和步驟5之間還包括 步驟41、原始工具鏈文件副本中的原工具鏈程序的執(zhí)行處理完成后,工具鏈轉(zhuǎn)換擴(kuò)展執(zhí)行程序再根據(jù)需求,對(duì)目標(biāo)文件進(jìn)行可選的后處理。
7.根據(jù)權(quán)利要求2至6任一項(xiàng)所述的集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,其特征在于根據(jù)具體IDE環(huán)境對(duì)編譯和鏈接的處理過程差異,所述步驟I至步驟5在一次編譯、鏈接的過程中,被執(zhí)行I次或多次。
全文摘要
本發(fā)明提供一種集成開發(fā)環(huán)境中工具鏈轉(zhuǎn)換擴(kuò)展方法,該方法在創(chuàng)建了IDE原始工具鏈文件副本后,用擴(kuò)展轉(zhuǎn)換程序替換IDE中原始工具鏈程序。在開發(fā)人員通過IDE啟動(dòng)某個(gè)源文件的編譯鏈接過程時(shí),擴(kuò)展轉(zhuǎn)換程序通過進(jìn)程管道獲取IDE對(duì)工具鏈的調(diào)用命令,執(zhí)行編譯鏈接過程的擴(kuò)展或者功能轉(zhuǎn)換的處理,接著由擴(kuò)展轉(zhuǎn)換程序調(diào)用原始工具鏈文件副本中的原工具鏈程序?qū)U(kuò)展轉(zhuǎn)換處理后的內(nèi)容進(jìn)行編譯連接,然后再由擴(kuò)展轉(zhuǎn)換程序完成最終的擴(kuò)展轉(zhuǎn)換處理,最后將處理結(jié)果返回給IDE。本發(fā)明可以實(shí)現(xiàn)的IDE工具鏈的轉(zhuǎn)換擴(kuò)展,開發(fā)實(shí)現(xiàn)的技術(shù)代價(jià)小,方案可以在多種IDE上通用,并且可以有效保留原IDE和工具鏈的優(yōu)良特性。
文檔編號(hào)G06F9/44GK102902532SQ20121033887
公開日2013年1月30日 申請(qǐng)日期2012年9月13日 優(yōu)先權(quán)日2012年9月13日
發(fā)明者林志偉, 吳軍華, 張登峰, 余杭軍 申請(qǐng)人:福建升騰資訊有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
辽宁省| 苏尼特右旗| 冀州市| 彭水| 稻城县| 道孚县| 山丹县| 湄潭县| 宜春市| 梅州市| 全州县| 新民市| 宣恩县| 阿图什市| 商洛市| 龙里县| 黑山县| 丽江市| 清苑县| 河间市| 邯郸县| 株洲县| 阳春市| 崇义县| 县级市| 九江市| 玉门市| 五家渠市| 铜川市| 泸溪县| 荔浦县| 沙湾县| 兴仁县| 宜昌市| 钟祥市| 商都县| 常山县| 鄂伦春自治旗| 左权县| 汝阳县| 邮箱|