青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-381  評論-37  文章-0  trackbacks-0

轉:http://www.ibm.com/developerworks/cn/linux/opensource/os-ecc/

Pawel Leszek (pawel.leszek@ipgate.pl), 獨立軟件顧問
Pawel Leszek 是 Studio B 的一位作家,他是一位專長于 Linux/Win/Mac OS 系統體系結構和管理的獨立軟件顧問和作家。他具有許多操作系統、編程語言和網絡協議方面的經驗,尤其是 Lotus Domino 和 DB2 方面的經驗。Pawel 還是 LinuxWorld上一系列文章的作者,以及 PC World波蘭版的 Linux 專欄作家。Pawel 和他的妻子以及可愛的小女兒住在華沙。歡迎提問并提出意見;您可以直接給作者發電子郵件( pawel.leszek@ipgate.pl)。

簡介: 我們將概述如何在 C/C++ 開發項目中使用 Eclipse 平臺。盡管 Eclipse 主要是一個 Java 開發環境,但其體系結構確保了對其它編程語言的支持。在本文中,您將學習如何使用 C/C++ 開發工具箱(C/C++ Development Toolkit,CDT),它是可用于 Eclipse 的最佳 C/C++ 工具箱。

標記本文!

發布日期: 2004 年 3 月 09 日
級別: 初級
訪問情況 883 次瀏覽
建議: 0 (添加評論)
1 star2 stars3 stars4 stars5 stars 平均分 (共 0 個評分 )

C 和 C++ 語言都是世界上最流行且使用最普遍的編程語言,因此 Eclipse 平臺(Eclipse Platform)提供對 C/C++ 開發的支持一點都不足為奇。因為 Eclipse 平臺只是用于開發者工具的一個框架,它不直接支持 C/C++;它使用外部插件來提供支持。本文將向您演示如何使用 CDT — 用于 C/C++ 開發的一組插件。CDT 項目(有關鏈接,請參閱本文后面的 參考資料一節)致力于為 Eclipse 平臺提供功能完全的 C/C++ 集成開發環境(Integrated Development Environment,IDE)。雖然該項目的重點是 Linux,但它在可使用 GNU 開發者工具的所有環境(包括 Win32(Win 95/98/Me/NT/2000/XP)、QNX Neutrino 和 Solaris 平臺)中都能工作。

CDT 是完全用 Java 實現的開放源碼項目(根據 Common Public License 特許的),它作為 Eclipse SDK 平臺的一組插件。這些插件將 C/C++ 透視圖添加到 Eclipse 工作臺(Workbench)中,現在后者可以用許多視圖和向導以及高級編輯和調試支持來支持 C/C++ 開發。

由于其復雜性,CDT 被分成幾個組件,它們都采用獨立插件的形式。每個組件都作為一個獨立自主的項目進行運作,有它自己的一組提交者、錯誤類別和郵件列表。但是,所有插件都是 CDT 正常工作所必需的。下面是 CDT 插件/組件的完整列表:

    * 主 CDT 插件(Primary CDT plug-in)是“框架”CDT 插件。
    * CDT 功能 Eclipse(CDT Feature Eclipse)是 CDT 功能組件(Feature Component)。
    * CDT 核心(CDT Core)提供了核心模型(Core Model)、CDOM 和核心組件(Core Component)。
    * CDT UI是核心 UI、視圖、編輯器和向導。
    * CDT 啟動(CDT Launch)為諸如編譯器和調試器之類的外部工具提供了啟動機制。
    * CDT 調試核心(CDT Debug Core)提供了調試功能。
    * CDT 調試 UI(CDT Debug UI)為 CDT 調試編輯器、視圖和向導提供了用戶界面。
    * CDT 調試 MI(CDT Debug MI)是用于與 MI 兼容的調試器的應用程序連接器。

現在,讓我們研究一下如何在實際應用程序中使用這些組件。圖 1 顯示了 Eclipse 中的 C/C++ 項目:

圖 1. 在帶有 CDT 插件的 Eclipse 中編輯 C/C++ 項目
圖 1. 在帶有 CDT 插件的 Eclipse 中編輯 C/C++ 項目

安裝和運行 CDT

在下載和安裝 CDT 之前,首先必需確保 GNU C 編譯器(GNU C compiler,GCC)以及所有附帶的工具(make、binutil 和 GDB)都是可用的。如果正在運行 Linux,只要通過使用適用于您分發版的軟件包管理器來安裝開發軟件包。在 Windows平臺上,將需要安裝 Cygwin 工具箱(請參閱 參考資料以獲得鏈接)。Cygwin 是用于 Windows 的類 UNIX 環境,它包括 GCC 移植以及所有必需的開發工具,包括 automake 和 GNU 調試器(GNU Debugger,GDB)。Cygwin 是在 cygwin1.dll 庫基礎上構建的。Cygwin 的備用解決方案是 Minimalist GNU for Windows(MinGW)(請參閱 參考資料以獲得鏈接)。該工具是一組可免費獲取、自由分發的特定于 Windows 的頭文件和導入庫,這些頭文件和導入庫與 GNU 工具集(它們允許您生成不依賴于任何第三方 DLL 的本機 Windows 程序)結合在一起。如果您想要創建與 POSIX 兼容的 Windows 應用程序,那么 MinGW 是最佳選擇。MinGW 甚至可以在 Cygwin 安裝之上工作。 Solaris和 QNX要求您從因特網下載并安裝其特定的 GCC、GNU Make binutils 和 GDB 移植(請參閱 參考資料以獲得鏈接)。

假設您安裝了適當的 Java SDK/JRE 和 Eclipse 平臺 SDK,并且它們都正常運行。CDT 以兩種“方式”可用:穩定的發行版和試運行版(nightly build)。試運行版未經完全測試,但它們提供了更多的功能并改正了當前錯誤。安裝之前,請檢查磁盤上是否存在先前版本的 CDT,如果存在,請確保完全除去它。因為 CDT 沒有可用的卸載程序,所以需要手工除去它。為了檢查先前版本是否存在,轉至 CDT 插件所駐留的目錄: eclipse/plugins 。接著,除去所有以 org.eclipse.cdt 名稱開頭的目錄。需要做的最后一件事情是從 workspace/.metadata/.plugins 和 features 除去 CDT 元數據目錄 or.eclipse.cdt.* 。

下一步是下載 CDT 二進制文件。注意:請下載適合于您操作系統的正確的 CDT。遺憾的是,即使 CDT 是用 Java 編寫的,它也不是與平臺無關的。接著,將歸檔文件解壓到臨時目錄中,從臨時目錄將所有插件目錄內容都移到 Eclipse plugins 子目錄。還需要將 features 目錄內容移到 Eclipse features 子目錄中?,F在,重新啟動 Eclipse。Eclipse 再次啟動之后,更新管理器將告訴您它發現了更改并詢問您是否確認這些更改?,F在您將能夠看到兩個可用的新項目:C 和 C++。

回頁首

創建新項目

在 Eclipse 中安裝 CDT 之后,瀏覽至 File => New => Project,在那里,您將發現三個新的可用項目類型:C(“Standard C Make Project”)、C++(“Standard C++ Make Project”)和“Convert to C or C++ Projects”。從“Standard Make C++ Project”開始,為您的項目創建源代碼文件。在 C/C++ Projects 視圖中,單擊鼠標右鍵,然后選擇 New => Simple => File。命名您的文件并保存它。您可能會用這種方法創建許多頭文件以及 C/C++ 實現代碼文件。最后當然是 Makefile,GNU Make 將使用它來構建二進制文件。對該 Makefile 使用常見的 GNU make 語法(請參閱 參考資料)。請記?。篗akefile 要求您使用 Tab 字符而不是空格來產生縮進行。

您通常會將現有的源代碼導入 Eclipse(請參閱圖 2)。CDT 為執行這一操作提供了一種便捷的方法:即使用 Import 向導,將文件從文件系統目錄復制到工作臺。轉至主菜單欄,選擇 File => Import => File System。單擊 Next,打開源目錄,選擇您想要添加文件的目錄。單擊 Select All 以選擇目錄中的所有資源,然后從頭到尾檢查,取消選擇您不打算添加的那些資源。指定將作為導入目標的工作臺項目或文件夾。還可以通過從文件系統拖動文件夾和文件并將它們放入 Navigator 視圖中,或者通過復制和粘貼來導入文件夾和文件。

圖 2. 將現有的源代碼導入 CDT 項目
圖 2. 將現有的源代碼導入 CDT 項目

回頁首

關鍵的 CDT IDE 功能

CDT IDE 是在 CDT UI 插件所提供的通用可擴展編輯器基礎上構建的。然而,該模塊仍處于開發階段,所以它仍缺少一些重要的實用程序,如類瀏覽器或語言文檔瀏覽器。CDT IDE 的主要功能是:

    * 語法突出顯示:CDT IDE 識別 C/C++ 語法,并為語法突出顯示提供了完全可配置的代碼著色以及代碼格式化功能:


圖 3. 不成功的編譯之后突出顯示的語法錯誤標記
圖 3. 不成功的編譯之后突出顯示的語法錯誤標記

    * 提綱:Outline 窗口模塊提供了有關出現在源代碼中的過程、變量、聲明以及函數的快速視圖。利用 outline,您可以方便地找到源代碼中的適當引用,或者甚至搜索所有項目源代碼。
    * 代碼輔助:這個代碼完成功能類似于可在 Borland C++ Builder 或 MS Visual Studio 中找到的功能。它使用了 代碼模板,并且只有助于避免愚蠢的語法錯誤:


圖 4. 有助于使用正確的語言語法的代碼輔助功能
圖 4. 有助于使用正確的語言語法的代碼輔助功能

    * 代碼模板:由代碼輔助功能使用的代碼模板是標準 C/C++ 語言語法結構的定義。您也可以定義自己的代碼模板來擴展您自己的快捷鍵,如用于 author 或 date 關鍵字的快捷鍵。在 Window => Preferences => C/C++ => Code Templates 中,可以添加新模板并查看完整的模板列表。也可以將模板作為 XML 文件導出和導入。

圖 5. 預定義的 C/C++ 代碼模板
圖 5. 預定義的 C/C++ 代碼模板

    * 代碼歷史記錄:即使您沒有使用 CVS 或其它源代碼版本管理軟件,也可以跟蹤項目源代碼中的本地更改。在選擇的文件上單擊鼠標右鍵,從上下文菜單選擇 Compare With => Local History...:


圖 6. 用 Local History 功能檢查源代碼中的更改
圖 6. 用 Local History 功能檢查源代碼中的更改

回頁首

構建并運行項目

CDT 提供了一種設置項目構建選項的簡單方法。CDT 依賴于三個 GNU 工具:GCC、GDB 和 Make。因此,對用于調試的 GDB 或用于編譯的 GCC 和 Make 的依賴要求這些應用程序可用于用戶想要使用的平臺。大多數 Linux(通常和類 POSIX)源代碼軟件包使用 autoconf 腳本來檢查構建環境,所以您必需運行 configure 命令,該命令在編譯之前創建“Makefile”。CDT 沒有提供編輯 autoconf 腳本的方法,所以必需手工編寫它們;然而,您可以配置構建選項以在編譯之前調用 configure 命令。

如果通過調用 make 命令來構建項目,那么缺省設置沒問題,但是,如果使用一種更復雜的方法進行構建,則必需在 Build Command 文本框中輸入適當的命令(例如, make -f make_it_all )。接下來,在 C/C++ Projects 視圖中,選擇 C/C++ project,然后單擊鼠標右鍵并選擇 Rebuild Project。所有來自 make、編譯器和鏈接程序的編譯消息都被重定向到控制臺窗口:

圖 7. 帶編譯器輸出的控制臺窗口
圖 7. 帶編譯器輸出的控制臺窗口

編譯成功之后,您或許想要運行您的應用程序。所有用于運行和調試的選項都位于主 Eclipse 菜單的 Run 菜單下。然而,必須在早期定義用于運行項目的選項??梢酝ㄟ^轉至主菜單(在那里,有用于運行應用程序的不同概要文件)中的 Run... 選項來完成這一步;例如,可以將一個概要文件用于測試目的,而將另一個概要文件用于運行最終版本。另外,可以定義希望要傳遞給應用程序的參數,或者可以設置環境變量。其它選項用于設置調試選項,例如使用哪個調試器(GNU GDB 或 Cygwin GDB)。圖 8 顯示了正在為項目創建運行概要文件(run profile)。

圖 8. 為項目創建運行概要文件
圖 8. 為項目創建運行概要文件

當進入 C/C++ Projects 視圖,選擇您的項目,單擊鼠標右鍵并在 Build Settings 選項卡上選擇 Properties 之后,就可以使用更多的用于構建項目的常用選項。這些選項主要影響因遇到編譯錯誤而使構建停止時所發生的情況。

回頁首

調試 C/C++ 項目

CDT 擴展了標準的 Eclipse Debug 視圖,使之具備了調試 C/C++ 代碼的功能。Debug 視圖允許您在工作臺中管理程序的調試或運行。要開始調試當前項目,只要切換到 Debug 視圖,您將能夠在代碼中設置(并在執行過程中隨時更改)斷點/監測點并跟蹤變量和寄存器。Debug 視圖顯示正在調試的每個目標的暫掛線程的堆??蚣?。程序中的每個線程都作為樹中的一個節點出現,Debug 視圖顯示正在運行的每個目標的進程。

Eclipse 通過 CDT 調試 MI(CDT Debug MI)插件(其組件之一)支持與機器接口(Machine Interface,MI)兼容的調試器。但 MI 調試器究竟是什么呢?通常情況下,象 ddd 和 xxgdb(請參閱 參考資料以獲得鏈接)之類的第三方 GUI 調試器在實現調試功能時都依賴于 GDB 的命令行接口(Command Line Interface,CLI)。遺憾的是,經過證實該接口非常不可靠。GDB/MI 提供了一種新的面向機器的接口,它非常適合于想要直接解析 GDB 輸出的程序。

回頁首

結束語

C/C++ 開發工具箱(CDT)提供了一組功能強大的插件,這些插件可以幫助您用 Eclipse 開發 C/C++ 應用程序。雖然 CDT 仍處于開發階段,但您可以利用其現有的諸多功能。

參考資料

    * 您可以參閱本文在 developerWorks 全球站點上的 英文原文.

    * 請加入 Eclipse 平臺社區,并從 eclipse.org下載該平臺。Eclipse 平臺源代碼是根據 Common Public License 特許的。在 eclipse.org 上,您還將找到有關 Eclipse 項目的術語詞匯表和描述,以及技術文章和新聞組。Eclipse 平臺白皮書詳細描述了 Eclipse 的主要組件和功能。

 

    * 從 eclipse.org 下載 CDT 項目的組件。

 

    * 請訪問 eclipse.org 上的 新聞組,以獲取與 C/C++ 插件相關的技術討論和問題。

 

    * 開發人員可以通過為該項目中每個組件所創建的 開發人員郵件列表(developer mailing lists)來參與和 C/C++ IDE 實現相關的討論。

 

    * CDT 項目使用 bugzilla 作為其錯誤和功能跟蹤系統。在 Eclipse bugzilla 頁上輸入錯誤/功能報告與填寫 Web 表單一樣簡單。

 

    * 有關 Eclipse 平臺及其工作原理的入門文章,請參閱由 Greg Adams 和 Marc Erickson 合著的 developerWorks文章“ Working the Eclipse Platform”。

 

    * 要開始使用 Eclipse 平臺開發應用程序,請參閱由 David Gallardo 撰寫的 developerWorks文章“ Getting started with the Eclipse Platform”。

 

    * 如果您有興趣創建自己的 Eclipse 插件,請參閱由 David Gallardo 撰寫的 developerWorks文章“ 開發 Eclipse 插件”。

 

    * 從 Red Hat 下載 Cygwin 工具箱。

 

    * 從 MinGW.org 下載 MinGW 工具箱。

 

    * 在 gnu.org 上學習有關 GNU make 語法的更多知識。

 

    * 從 gnu.org 下載 dddGUI 調試器。

 

    * 下載 xxgdbGUI 調試器。

 

    * 請訪問 WebSphere Studio Plug-in Central,以獲取已被驗證為“Ready for WebSphere Studio Software”的插件的目錄。

 

    * 學習 IBM WebSphere Studio 工具的一個擴展,它提供了有助于您使用這些工具的信息和工具。由于所有 WebSphere Studio 工具都基于 WebSphere Studio 工作臺(WebSphere Studio Workbench),而工作臺基于 Eclipse 框架,所以很容易通過使用 Eclipse 幫助擴展功能來擴展產品文檔。請參閱文章“ Adding Self-Help Support to WebSphere Studio Tools by Extending their Eclipse Help Systems”。

 

    * 請在 developerWorks上查找更多的 Eclipse 用戶參考資料。

 

關于作者

Pawel Leszek 是 Studio B 的一位作家,他是一位專長于 Linux/Win/Mac OS 系統體系結構和管理的獨立軟件顧問和作家。他具有許多操作系統、編程語言和網絡協議方面的經驗,尤其是 Lotus Domino 和 DB2 方面的經驗。Pawel 還是 LinuxWorld上一系列文章的作者,以及 PC World波蘭版的 Linux 專欄作家。Pawel 和他的妻子以及可愛的小女兒住在華沙。歡迎提問并提出意見;您可以直接給作者發電子郵件( pawel.leszek@ipgate.pl)。

posted on 2010-11-02 01:00 小王 閱讀(419) 評論(0)  編輯 收藏 引用 所屬分類: linux
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品一区二| 国语自产精品视频在线看| 日韩一区二区精品葵司在线| 欧美福利视频一区| 久久福利影视| 久久久久网址| 欧美大片免费观看在线观看网站推荐| 亚洲国产免费| 亚洲国产精品久久久久| 日韩一级网站| 欧美亚洲一区二区在线| 精品99视频| 亚洲黑丝在线| 一区二区三区高清| 午夜在线电影亚洲一区| 久久久久九九视频| 欧美成人一区二区| 亚洲伦理在线| 久久高清福利视频| 欧美日韩午夜精品| 国产一区二区三区无遮挡| 91久久精品www人人做人人爽| 一区二区激情| 久久久久国产成人精品亚洲午夜| 欧美成人在线网站| 国产精品99久久久久久久vr| 亚洲尤物在线视频观看| 欧美成人性生活| 国产一区二区三区成人欧美日韩在线观看| 亚洲激情电影在线| 久久狠狠亚洲综合| 亚洲精品美女久久7777777| 亚洲在线成人精品| 欧美精品亚洲精品| 精品动漫一区| 欧美在线www| 9国产精品视频| 蜜臀va亚洲va欧美va天堂| 国产精品乱码人人做人人爱| 日韩亚洲欧美成人| 欧美v国产在线一区二区三区| 99国产精品久久| 欧美福利在线观看| 国产性做久久久久久| 在线午夜精品自拍| 亚洲高清av在线| 久久夜色精品国产欧美乱极品| 欧美日韩一区二区三区视频| 亚洲高清资源| 蜜臀av一级做a爰片久久| 欧美亚洲系列| 国产日韩欧美一区在线| 亚洲一区亚洲| 亚洲区在线播放| 欧美sm视频| 在线成人中文字幕| 裸体歌舞表演一区二区| 久久久久亚洲综合| 狠狠久久亚洲欧美| 久久看片网站| 久久久成人网| 狠狠色狠狠色综合日日五| 欧美专区亚洲专区| 亚洲欧美一区二区视频| 国产日韩欧美一区二区| 久久精品免费电影| 久久精品日韩| 亚洲国产婷婷香蕉久久久久久| 国产日韩精品在线播放| 欧美激情日韩| 国内外成人免费视频| 一区二区三区www| 翔田千里一区二区| 久久视频国产精品免费视频在线| 国产精品亚洲综合色区韩国| 亚洲欧美韩国| 午夜伦欧美伦电影理论片| 国产欧美日韩伦理| 久久精品视频在线观看| 久久精品一区二区三区四区 | 欧美伊久线香蕉线新在线| 亚洲欧美国产三级| 在线播放中文字幕一区| 亚洲福利精品| 欧美日韩在线另类| 欧美一区二区在线观看| 久久免费国产精品| 一本久久a久久免费精品不卡| 亚洲午夜精品久久| 怡红院精品视频| 日韩天堂av| 国内免费精品永久在线视频| 欧美成人精品影院| 欧美日韩久久精品| 久久久一区二区三区| 欧美另类视频在线| 久久国内精品自在自线400部| 老巨人导航500精品| 亚洲综合色丁香婷婷六月图片| 久久精品91| 亚洲在线黄色| 快射av在线播放一区| 午夜精品亚洲| 欧美激情免费观看| 久久久青草婷婷精品综合日韩| 欧美精品亚洲二区| 麻豆精品一区二区av白丝在线| 欧美三级不卡| 亚洲大片免费看| 国产主播一区二区| 亚洲婷婷在线| 一本大道久久a久久综合婷婷 | 欧美一区二区三区另类| 一本到12不卡视频在线dvd| 欧美资源在线| 欧美一区亚洲一区| 欧美日韩亚洲激情| 亚洲国产欧美国产综合一区 | 欧美激情亚洲视频| 久久婷婷影院| 国产日韩亚洲欧美综合| 亚洲免费大片| 亚洲肉体裸体xxxx137| 久久精品国产亚洲a| 国产夜色精品一区二区av| 美女尤物久久精品| 欧美在线视频日韩| 欧美三级日本三级少妇99| 欧美国产亚洲另类动漫| 国产一区二区在线观看免费播放 | 另类天堂视频在线观看| 久久精品理论片| 欧美性大战久久久久久久| 亚洲精品久久久久| 一区二区电影免费观看| 欧美精品不卡| 亚洲人午夜精品| 一区二区三区精密机械公司| 免费观看日韩av| 欧美激情一区二区| 日韩午夜电影av| 欧美激情第五页| 亚洲三级免费电影| 一区二区三区视频在线| 欧美日本成人| 国产精品99久久99久久久二8| 亚洲综合成人婷婷小说| 国产精品老牛| 欧美一级视频一区二区| 久久三级视频| 在线观看日韩国产| 欧美顶级大胆免费视频| 亚洲精品中文字幕有码专区| 日韩一区二区精品葵司在线| 欧美日韩视频| 午夜欧美大尺度福利影院在线看| 久久一区二区三区超碰国产精品| 国产综合香蕉五月婷在线| 久久aⅴ国产紧身牛仔裤| 欧美高清日韩| 一区二区三区色| 国产视频不卡| 另类av一区二区| 一本色道久久综合亚洲二区三区| 香蕉尹人综合在线观看| 国产一区二区三区四区在线观看| 久久亚洲综合色| 亚洲午夜视频在线观看| 久久人人爽爽爽人久久久| 99国产精品久久久久久久久久| 欧美日韩在线播放一区| 欧美一级久久久久久久大片| 欧美激情1区2区| 午夜日韩福利| 亚洲激情欧美激情| 国产精品入口日韩视频大尺度| 久久av老司机精品网站导航| 欧美激情精品久久久久久久变态 | 亚洲精品一线二线三线无人区| 在线亚洲精品| 国产在线国偷精品产拍免费yy| 美女精品自拍一二三四| 亚洲一区日韩| 亚洲国产精品一区二区www在线| 午夜精品成人在线视频| 黑丝一区二区| 国产精品天美传媒入口| 久久久午夜精品| 亚洲伊人久久综合| 欧美日韩在线观看一区二区三区| 亚洲欧美日韩国产一区二区三区| 欧美激情一二三区| 久久久久国色av免费观看性色| 亚洲精品美女在线观看播放| 国产一区二区精品在线观看| 欧美吻胸吃奶大尺度电影| 欧美成人午夜免费视在线看片| 久久精品九九| 午夜精品久久久久99热蜜桃导演| 亚洲久久成人|