2006 年對(duì)于 Eclipse C/C++ 開(kāi)發(fā)工具 (CDT) 環(huán)境來(lái)說(shuō)是具有里程碑意義的一年,幾乎在項(xiàng)目的每個(gè)領(lǐng)域都有增長(zhǎng)。目前,開(kāi)發(fā)人員每月下載 CDT 超過(guò) 85,000 次(高于 2006 年初的 60,000 次),并且有十幾個(gè)提交者正在開(kāi)發(fā)下一個(gè) CDT 版本。同時(shí),許多工具供應(yīng)商現(xiàn)在重新分發(fā) Eclipse 和 CDT 及其產(chǎn)品,特別是在 CDT 已成為事實(shí)上的標(biāo)準(zhǔn)開(kāi)發(fā)環(huán)境的嵌入式市場(chǎng)。
CDT 中有什么
CDT 主要關(guān)注軟件開(kāi)發(fā)的編輯、構(gòu)建和調(diào)試周期。它的主要目標(biāo)是提高程序員用 C 和 C++ 編寫(xiě)代碼的效率,同時(shí)利用開(kāi)發(fā)人員已經(jīng)用于構(gòu)建和調(diào)試的高質(zhì)量工具鏈。最初,CDT 項(xiàng)目專(zhuān)注于使用 GNU 工具鏈的開(kāi)發(fā)人員,包括 gcc 和 gdb,這是迄今為止開(kāi)源社區(qū)中最流行的工具集。但是,CDT 項(xiàng)目現(xiàn)在也支持其他環(huán)境,直接或通過(guò)商業(yè)供應(yīng)商提供的基于 CDT 的環(huán)境。
CDT 遵循與其他基于 Eclipse 的開(kāi)發(fā)環(huán)境相同的用戶(hù)界面和項(xiàng)目資源結(jié)構(gòu)。用戶(hù)界面包含一組視圖和編輯器,這些視圖和編輯器顯示為 Eclipse 窗口的選項(xiàng)卡式部分。視圖顯示有關(guān)項(xiàng)目的各種信息,編輯器允許開(kāi)發(fā)人員更改項(xiàng)目中的文件??梢詫⒁晥D組織到稱(chēng)為透視圖的頁(yè)面中,這些頁(yè)面可以自定義視圖的布局以用于各種目的,例如編輯和調(diào)試。用戶(hù)還可以根據(jù)自己的特定需求調(diào)整和保存視角。圖 1 顯示了 C/C++ 透視圖。
圖 1: C/C++ 透視圖
Eclipse 中的項(xiàng)目是用戶(hù)使用的頂級(jí)資源。通常,項(xiàng)目映射到用戶(hù)文件系統(tǒng)中的根目錄。Eclipse 插件可以遞歸地訪(fǎng)問(wèn)該目錄及其子目錄中的每個(gè)文件。Eclipse 還提供了將其他文件和目錄鏈接到項(xiàng)目結(jié)構(gòu)中的機(jī)制,但不提供排除文件的通用機(jī)制。
Eclipse 平臺(tái)提供對(duì)文件和項(xiàng)目的管理。CDT 擴(kuò)展了這種管理以區(qū)分源文件、目標(biāo)文件和其他文件類(lèi)型;它還提供文件內(nèi)容的結(jié)構(gòu)化表示。使用這種表示,CDT 填充大綱視圖(顯示當(dāng)前文件中的目錄)和 C/C++ 項(xiàng)目視圖(顯示可用項(xiàng)目中的目錄)。
CDT 核心還維護(hù)每個(gè)項(xiàng)目的符號(hào)數(shù)據(jù)庫(kù)。這個(gè)稱(chēng)為索引的數(shù)據(jù)庫(kù)允許許多功能提供源代碼分析和導(dǎo)航。例如,用戶(hù)可以在源代碼中選擇一個(gè)函數(shù)名稱(chēng)并進(jìn)行搜索以找到對(duì)該函數(shù)的所有引用。然后,用戶(hù)可以調(diào)用重命名重構(gòu)功能來(lái)更改整個(gè)項(xiàng)目中該函數(shù)的名稱(chēng)。
CDT 編輯器提供了開(kāi)發(fā)人員在高級(jí)集成開(kāi)發(fā)環(huán)境 (IDE) 中所期望的許多生產(chǎn)力功能。最大的生產(chǎn)力增強(qiáng)器是內(nèi)容輔助功能,它使用來(lái)自 CDT 的內(nèi)置解析器的信息來(lái)提供有效的代碼完成,給定當(dāng)前包含光標(biāo)的上下文。編輯器還提供代碼著色,區(qū)分關(guān)鍵字和標(biāo)識(shí)符以增強(qiáng)代碼可讀性,以及括號(hào)匹配和自動(dòng)制表符,使復(fù)雜的代碼結(jié)構(gòu)更容易輸入。
CDT 還包含以下兩個(gè)構(gòu)建系統(tǒng):
標(biāo)準(zhǔn)構(gòu)建:重用用戶(hù)現(xiàn)有的構(gòu)建基礎(chǔ)設(shè)施。此功能對(duì)于在傳統(tǒng) make 文件上投入巨資以確保高質(zhì)量、可重復(fù)構(gòu)建的項(xiàng)目團(tuán)隊(duì)尤其重要。
托管構(gòu)建:允許工具供應(yīng)商提供高級(jí)用戶(hù)界面來(lái)設(shè)置編譯和鏈接選項(xiàng);它還自動(dòng)調(diào)用構(gòu)建。托管構(gòu)建對(duì)于新項(xiàng)目和寧愿花時(shí)間編寫(xiě)源代碼而不是創(chuàng)建構(gòu)建文件的用戶(hù)很有用。
CDT 調(diào)試透視圖提供了調(diào)試會(huì)話(huà)的可視化(參見(jiàn)圖 2)。原生調(diào)試器(如 gdb)處理執(zhí)行應(yīng)用程序、設(shè)置斷點(diǎn)和提取變量值的具體細(xì)節(jié)。表 1 總結(jié)了調(diào)試透視圖提供的可視化。
此視圖顯示器
調(diào)試當(dāng)前調(diào)試會(huì)話(huà)以及正在調(diào)試的應(yīng)用程序的線(xiàn)程和堆棧幀
變量當(dāng)前堆棧幀的變量值
記憶內(nèi)存的二進(jìn)制內(nèi)容
拆卸當(dāng)前執(zhí)行位置的指令的匯編代碼
表格1
圖 2: CDT 調(diào)試透視圖提供了調(diào)試會(huì)話(huà)的可視化
CDT 4.0 中的新功能
隨著 CDT 貢獻(xiàn)者的大量涌入,新版本將引入一些令人興奮的功能,以改善用戶(hù)體驗(yàn)、提高生產(chǎn)力并提供更大的可擴(kuò)展性。正在開(kāi)發(fā)的功能包括:
內(nèi)部構(gòu)建器:通過(guò)消除處理 make 文件的需要來(lái)提高構(gòu)建性能。為了確定構(gòu)建必須處理哪些文件,Internal Builder 使用 Eclipse 跟蹤文件更改的能力并使用存儲(chǔ)在 CDT 源索引中的文件間依賴(lài)關(guān)系信息。構(gòu)建器可以并行化編譯器以在多核機(jī)器上提供更快的構(gòu)建時(shí)間。
支持預(yù)建索引信息:為了進(jìn)一步提高索引性能,CDT 索引器將允許軟件開(kāi)發(fā)工具包 (SDK) 供應(yīng)商,包括主要操作系統(tǒng)供應(yīng)商,為 SDK 提供的頭文件預(yù)建索引信息。索引器然后可以將此信息與用戶(hù)代碼的索引集成,從而無(wú)需在用戶(hù)環(huán)境中解析 SDK 頭文件。
增強(qiáng)的索引信息: CDT 團(tuán)隊(duì)增強(qiáng)了捕獲的索引信息以啟用新的導(dǎo)航
和源代碼分析視圖。Call Hierarchy View(圖 3)允許在函數(shù)和它們調(diào)用或被調(diào)用的函數(shù)之間導(dǎo)航。Include Hierarchy View 允許基于包含關(guān)系在文件之間導(dǎo)航,Type Hierarchy View 可以基于繼承關(guān)系在 C++ 類(lèi)之間導(dǎo)航。
圖 3:調(diào)用層次結(jié)構(gòu)視圖
對(duì) Windows SDK 的支持:最近,Microsoft 提供了它的編譯器作為其 Windows SDK 的免費(fèi)下載。CDT 4.0 將包括構(gòu)建和調(diào)試支持,讓這些工具與 CDT 項(xiàng)目一起工作。因此,開(kāi)發(fā)人員將不再需要在 Windows 上使用 GNU 工具,這些工具由于需要仿真環(huán)境(如 cygwin)或不完整的 SDK 支持(如 mingw)而存在問(wèn)題。這種構(gòu)建和調(diào)試支持還將為 Visual Studio 用戶(hù)在未來(lái)將他們的項(xiàng)目遷移到 CDT 打開(kāi)大門(mén)。
項(xiàng)目生成框架:許多針對(duì)特定平臺(tái)的 IDE 可以為各種項(xiàng)目類(lèi)型生成框架項(xiàng)目。例如,桌面 GUI 應(yīng)用程序的項(xiàng)目可以生成足夠的源代碼以使框架運(yùn)行并在屏幕上顯示窗口。此樣板代碼為開(kāi)發(fā)人員在構(gòu)建項(xiàng)目時(shí)提供了一個(gè)良好的開(kāi)端。CDT 4.0 將為此類(lèi)項(xiàng)目生成提供框架。
CDT 4.0 將成為 CDT 的里程碑式版本。除了允許 CDT 團(tuán)隊(duì)確定 API 之外,該版本還引入了新功能,使 CDT 成為所有開(kāi)發(fā)人員構(gòu)建 C/C++ 應(yīng)用程序的有吸引力的環(huán)境,無(wú)論他們針對(duì)哪個(gè)平臺(tái)。
審核編輯:郭婷
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3614瀏覽量
91441 -
C++
+關(guān)注
關(guān)注
22文章
2119瀏覽量
75349 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50241
發(fā)布評(píng)論請(qǐng)先 登錄
Java開(kāi)發(fā)和嵌入式開(kāi)發(fā)
多功能嵌入式解碼軟件的相關(guān)資料分享
嵌入式開(kāi)發(fā)圣經(jīng)
基于ARM的嵌入式開(kāi)發(fā)
嵌入式開(kāi)發(fā)

學(xué)嵌入式開(kāi)發(fā)入門(mén)_學(xué)嵌入式開(kāi)發(fā)需要看哪些書(shū)籍
嵌入式開(kāi)發(fā)好學(xué)嗎_嵌入式開(kāi)發(fā)職業(yè)發(fā)展方向是什么
嵌入式開(kāi)發(fā)的產(chǎn)品有哪些_嵌入式開(kāi)發(fā)的流程
嵌入式開(kāi)發(fā)(一):嵌入式開(kāi)發(fā)新手入門(mén)

嵌入式開(kāi)發(fā)資料免費(fèi)分享

嵌入式開(kāi)發(fā)Linux入門(mén)

python做嵌入式開(kāi)發(fā)_Python和嵌入式的區(qū)別是什么?可以做嵌入式開(kāi)發(fā)嗎?

嵌入式開(kāi)發(fā)培訓(xùn)學(xué)什么?嵌入式開(kāi)發(fā)板知識(shí)講解

嵌入式開(kāi)發(fā) ---必看圖書(shū)

評(píng)論