整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Windows平臺(tái)搭建C/C++語言開發(fā)環(huán)境之Code::Blocks入門


          假期孩子想學(xué)習(xí) C 語言編程,讓幫著搭建一個(gè)簡(jiǎn)單好用的 C 語言開發(fā)環(huán)境。雖然筆記本配置的是Windows 7 操作系統(tǒng),但當(dāng)前可供選擇的支持Windows 7系統(tǒng)的 C/C++ 語言開發(fā)環(huán)境還不少,如: Visual Studio系列Dev-C++Code::BlocksEclipse for C/C++NetBeansVS Code+擴(kuò)展等十幾種。于是計(jì)劃就此寫個(gè)Windows平臺(tái)搭建C/C++語言開發(fā)環(huán)境系列文章,面向廣大C語言編程初學(xué)者,分別介紹幾種主流常用的Windows平臺(tái)C/C++開發(fā)環(huán)境的搭建(下載、安裝、配置)和簡(jiǎn)單開發(fā)(源碼編輯、編譯、運(yùn)行和調(diào)試),以供其了解和學(xué)習(xí)。

          本系列第一篇已經(jīng)對(duì) Dev-C++ 集成開發(fā)環(huán)境進(jìn)行了分享介紹,本文接著分享的是 Code::Blocks ,它是一款免費(fèi)開源的、跨平臺(tái)的、全功能的C/C++語言集成開發(fā)環(huán)境。

          本次分享內(nèi)容的目錄如下:

          前言

          基本概念(IDE、編譯)

          Code::Blocks 概述(簡(jiǎn)介、特性)

          Code::Blocks 安裝(下載、安裝)

          Code::Blocks 設(shè)置(中文設(shè)置、編譯器設(shè)置、調(diào)試器設(shè)置)

          Code::Blocks 軟件窗口界面簡(jiǎn)介

          Code::Blocks 開發(fā)簡(jiǎn)單示例(編輯、構(gòu)建、運(yùn)行)

          Code::Blocks 點(diǎn)評(píng)

          結(jié)束語


          1. 基本概念

          1.1 集成開發(fā)環(huán)境(IDE)

          集成開發(fā)環(huán)境Integrated Development Environment,簡(jiǎn)稱IDE)是一種輔助程序開發(fā)人員開發(fā)軟件的工具軟件,通常包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面等工具,集成了代碼編輯、編譯、運(yùn)行和調(diào)試等功能于一身,可以讓開發(fā)人員通過此單一集成環(huán)境即可輕松完成程序開發(fā)。

          可以對(duì)IDE簡(jiǎn)單分類如下:

        1. 針對(duì)特定編程語言量身打造的專一IDE
        2. 該類IDE只針對(duì)特定編程語言,如 Visual Basic針對(duì)Basic語言、Code::Blocks針對(duì)C/C++語言等。

        3. 支持多種編程語言的全功能IDE
        4. 該類IDE內(nèi)含支持多種編程語言的多種編譯器/調(diào)試器,如微軟的Visual Studio 2019集合開發(fā)、分析、調(diào)試、測(cè)試、協(xié)作、部署于一身,支持C/C++、Python、JavaScript、C#等多種語言的開發(fā)),適合專業(yè)開發(fā)人員。

        5. 基于代碼編輯器的擴(kuò)展IDE
        6. 該類IDE本身只是代碼/文本編輯器,但可通過安裝擴(kuò)展的方式調(diào)用多種編譯器/調(diào)試器,來打造強(qiáng)大的擴(kuò)展IDE。如:VimAtomVisual Studio Code等。


          1.2 編譯(Compile)

          我們知道計(jì)算機(jī)只能識(shí)別二進(jìn)制機(jī)器語言,而開發(fā)者一般編寫的是高級(jí)語言,但機(jī)器本身并不能直接識(shí)別高級(jí)語言,這時(shí)就需要將高級(jí)語言轉(zhuǎn)化成機(jī)器能識(shí)別的二進(jìn)制機(jī)器語言,這個(gè)過程就叫編譯。

          實(shí)現(xiàn)編譯的工具叫做編譯器(Compiler),最為知名的編譯器為GCC(GNU Compiler Collection,GNU編譯器套裝),是一套由GNU開發(fā)的編程語言編譯器。

          C語言編譯過程分成四個(gè)步驟:

        7. Step1 - 預(yù)處理:將所有的#include頭文件以及宏定義替換成其真正的內(nèi)容
        8. Step2 - 編譯:將經(jīng)過預(yù)處理之后的程序轉(zhuǎn)換成特定匯編代碼的過程
        9. Step3 - 匯編:將匯編代碼轉(zhuǎn)換成機(jī)器碼(目標(biāo)文件)
        10. Step4 - 鏈接:將多個(gè)目標(biāo)文以及所需的庫文件鏈接成最終的可執(zhí)行文件。

        11. 2. Code::Blocks 概述

          2.1 簡(jiǎn)介

          官方網(wǎng)址:http://www.codeblocks.org

          Code::Blocks 是一款免費(fèi)的、開源的、跨平臺(tái)的、功能強(qiáng)大的 C , C++ 和 Fortran 集成開發(fā)環(huán)境(IDE),力求為開發(fā)者(個(gè)人或團(tuán)隊(duì))提供一個(gè)能滿足各種需求的優(yōu)秀編程環(huán)境(旨在滿足其用戶的最苛刻需求)。

          Code::Blocks 由純粹的 C++ 語言開發(fā)完成,它使用了著名的 GUI庫 wxWidgets (最新版本的 Code::Blocks 20.03版采用了wxWidgets 3.1.3 unicode版)。對(duì)于追求完美的 C++ 程序員,再也不必忍受 Eclipse 的緩慢,再也不必忍受 VS.NET 的龐大和高昂的價(jià)格。

          Code::Blocks 的插件構(gòu)架設(shè)計(jì)使得開發(fā)者可以編寫插件,從而添加各種各樣的功能(例:插件已經(jīng)提供了編譯、調(diào)試功能)。

          Code::Blocks 被設(shè)計(jì)為完全可配置的,它提供了許多工程模板(包括:控制臺(tái)應(yīng)用、D應(yīng)用、Fortran應(yīng)用、Java應(yīng)用、靜態(tài)庫、動(dòng)態(tài)連接庫、共享庫、Fortran庫、內(nèi)核模塊驅(qū)動(dòng)、Code::Blocks插件、Win32 GUI項(xiàng)目、wxWidgets項(xiàng)目、GTK+項(xiàng)目、QT5項(xiàng)目、Direct/X項(xiàng)目、FLTK項(xiàng)目、OpenGL項(xiàng)目、OpenCV項(xiàng)目等約40種模板),并且支持用戶自定義工程模板。

          Code::Blocks 跨平臺(tái)具有一致的外觀、和操作手感。同時(shí)因在wxWidgets應(yīng)用中選擇UNICODE而支持中文。

          Code::Blocks是可用于滿足C和C++的開發(fā)人員最苛刻需求的免費(fèi)C/ C++ IDE。這款IDE包含進(jìn)行C和C++開發(fā)所要用到的全部功能。

          當(dāng)前最新穩(wěn)定版本是2020年04月03日發(fā)布的 Code::Blocks 20.03 版本。

          特點(diǎn):

          • 可用于Windows、Linux和Mac OS X。
          • 完全的可定制性和可擴(kuò)展性。
          • 支持代碼的編譯、調(diào)試、代碼覆蓋、分析和自動(dòng)完成。
          • 是一個(gè)類瀏覽器。即是說它可以使面向?qū)ο缶幊炭梢暬?/li>
          • 擁有Eclipse這樣的可在安排元素時(shí)使用拖放功能的特性,另外也支持代碼分析。

          2.2 特性



          3. Code::Blocks 安裝

          下面詳細(xì)介紹 Code::Blocks 在 Windows 7 操作系統(tǒng)中的具體安裝過程。

          3.1 下載安裝文件

          官網(wǎng)下載網(wǎng)址:http://www.codeblocks.org/downloads

          一、下載:

          Code::Blocks官網(wǎng)推薦兩處下載網(wǎng)址:

          (一)從 FossHUB 網(wǎng)址下載

          (二)從 Sourceforge.net 網(wǎng)址下載


          二、安裝文件說明:

          從上述下載網(wǎng)址可以看到最新版本(20.03版)的Code::Blocks分別針對(duì)32位和64位各自提供5個(gè)安裝文件,下面針對(duì)64位的安裝文件說明如下:

          安裝文件說明

          注1:如果是零基礎(chǔ)的入門者,建議直接下載帶編譯器和調(diào)試器的安裝文件codeblocks-20.03mingw-setup.exe。

          注2:如果本機(jī)已經(jīng)安裝了編譯器和調(diào)試器,則可以選擇下載不帶編譯器和調(diào)試器的安裝文件 codeblocks-20.03-setup.exe。



          3.2 安裝過程

          運(yùn)行 Code::Blocks 安裝執(zhí)行文件,按提示完成安裝(如下圖示):

          Step1:進(jìn)入歡迎“窗口:

          歡迎窗口

          Step2: 點(diǎn)擊上圖【Next】按鈕,進(jìn)入“License Agreement”窗口,展示軟件許可協(xié)議(GPL v3):

          許可協(xié)議窗口

          Step3:點(diǎn)擊上圖【I Agree】按鈕,進(jìn)入“Choose Compinents”窗口,選擇要安裝的組件(建議選擇Full,全部安裝):

          選擇安裝組件窗口

          Step4:點(diǎn)擊上圖【Next】按鈕,進(jìn)入“Choose Install Location”窗口,設(shè)置軟件安裝路徑(可自定義,建議路徑中不包含中文名,如:C:\Develop\DevCpp):

          選擇安裝路徑窗口

          Step5:點(diǎn)擊上圖【Install】按鈕,真正進(jìn)入安裝過程,等待……

          安裝過程窗口

          Step6:提示安裝完成,點(diǎn)擊下圖【Next】按鈕進(jìn)入下一步。

          提示安裝完成窗口

          Step7:點(diǎn)擊上圖【Finish】按鈕結(jié)束安裝。

          安裝完成窗口



          4. Code::Blocks設(shè)置

          Code::Blocks 安裝完成后,首次使用前建議對(duì)語言、編譯器、調(diào)試器進(jìn)行設(shè)置核查確認(rèn)。

          4.1 Code::Blocks軟件中文漢化設(shè)置

          針對(duì)初學(xué)者而言,開發(fā)軟件有一個(gè)熟悉的語言環(huán)境還是很重要的。 Code::Blocks 軟件是英文界面,不過網(wǎng)絡(luò)已有針對(duì)簡(jiǎn)體中文的語言包提供(壓縮包文件大小400KB,雖然還沒有100%翻譯,但已經(jīng)不影響正常使用了)。

          注:有需要該簡(jiǎn)體中文語言包的朋友可以私信跟我聯(lián)系提供。

          設(shè)置步驟如下:

          • Step1:將下載好的簡(jiǎn)體中文語言壓縮包文件(locale.zip)復(fù)制到 Code::Blocks安裝路徑(如:C:\Develop\CodeBlocks\)下的對(duì)應(yīng)目錄(如:C:\Develop\CodeBlocks\share\CodeBlocks\)下。
          • Step2:將簡(jiǎn)體中文語言壓縮包文件(locale.zip)解壓到當(dāng)前文件夾,文件目錄結(jié)果如下圖示:

          語言文件存放目錄結(jié)構(gòu)

          • Step3:將簡(jiǎn)體中文語言包壓縮文件(locale.zip)從 Code::Blocks安裝路徑下刪除
          • Step4:通過執(zhí)行Code::Blocks軟件菜單欄【Settings】下的【Environment】子菜單項(xiàng),進(jìn)入“Environment Settings”窗口

          選擇菜單項(xiàng)

          • Step5:在“Environment Settings”窗口,點(diǎn)擊左側(cè)的【View】按鈕(下圖標(biāo)號(hào)1處),在View選項(xiàng)標(biāo)簽窗口中勾選Internationalization(下圖標(biāo)號(hào)2處),并在其右側(cè)下拉框中的選擇Chinese(Simplified)(下圖標(biāo)號(hào)3處),然后按【OK】按鈕保存。

          設(shè)置中文窗口

          • Step6:在重新運(yùn)行Code::Blocks軟件后即顯示中文界面。

          中文界面

          4.2 Code::Blocks編譯器設(shè)置

          注:如果安裝的是帶編譯器的安裝文件codeblocks-20.03mingw-setup.exe,則可以跳過本節(jié)內(nèi)容。

          如果安裝的是不帶編譯器的安裝文件 codeblocks-20.03-setup.exe,則需要對(duì) Code::Blocks軟件的編譯器進(jìn)行單獨(dú)設(shè)置。

          設(shè)置步驟如下:

          編譯器設(shè)置窗口

        12. Step1:通過執(zhí)行Code::Blocks軟件菜單欄【設(shè)置】下的【編譯器…】子菜單項(xiàng)
        13. Step2:在“編譯器設(shè)置”窗口中,選擇左側(cè)的【全局編譯器設(shè)置】按鈕(上圖標(biāo)號(hào)1處)
        14. Step3:在右側(cè)確認(rèn):"可選擇的編譯器"選擇的是“GNU GCC Compiler”項(xiàng)(上圖標(biāo)號(hào)2處)
        15. Step4:在右側(cè)點(diǎn)擊“可執(zhí)行工具鏈”選項(xiàng)卡(上圖標(biāo)號(hào)3處),確認(rèn):"編譯器的安裝目錄"選擇的是已經(jīng)安裝好的編譯器路徑(如:C:\Develop\MinGW64(上圖標(biāo)號(hào)4處),并依次確認(rèn)“程序文件”下各程序(上圖標(biāo)號(hào)5處)
        16. Step5:確認(rèn)無誤后點(diǎn)擊【確定】按鈕,完成編譯器設(shè)置。

        17. 4.3 Code::Blocks調(diào)試器設(shè)置

          注:如果安裝的是帶調(diào)試器的安裝文件codeblocks-20.03mingw-setup.exe,則可以跳過本節(jié)內(nèi)容。

          如果安裝的是不帶調(diào)試器的安裝文件 codeblocks-20.03-setup.exe,則需要對(duì) Code::Blocks軟件的調(diào)試器進(jìn)行單獨(dú)設(shè)置。

          設(shè)置步驟如下:

        18. Step1:通過執(zhí)行Code::Blocks軟件菜單欄【設(shè)置】下的【調(diào)試器設(shè)置】子菜單項(xiàng)
        19. Step2:在“調(diào)試器設(shè)置”窗口中,依次點(diǎn)擊左側(cè)的【GDB/CDB Debugger】下的【Default】項(xiàng)(上圖標(biāo)號(hào)1處)
        20. Step3:在右側(cè)確認(rèn):"可執(zhí)行路徑"選擇的是已經(jīng)安裝好的調(diào)試器程序全路徑(如:C:\Develop\MinGW64\bin\gdb.exe(上圖標(biāo)號(hào)2處)
        21. Step4:確認(rèn)無誤后點(diǎn)擊【確定】按鈕,完成調(diào)試器設(shè)置。


        22. 5. Code::Blocks 軟件窗口界面簡(jiǎn)介

          Code::Blocks 軟件窗口界面主要包括七大部分(如上圖示):

          軟件窗口界面

          • 菜單欄:菜單欄將軟件的各項(xiàng)功能分類歸集,便于開發(fā)者查找使用。
          • 工具欄:工具欄將對(duì)源碼的新建、保存、編譯、運(yùn)行、調(diào)試等操作集中放置,方便開發(fā)者操作。
          • 管理窗口:該區(qū)域用于項(xiàng)目、文件、資源文件進(jìn)行管理。
          • 觀察窗口:該區(qū)域用于調(diào)試時(shí)觀察具體變量信息。
          • 代碼編輯窗口:該區(qū)域用于編輯源代碼,每行都有對(duì)應(yīng)的編號(hào),語法高亮顯示。
          • 日志及其他輸出窗口:該區(qū)域顯示編程過程中的構(gòu)建記錄、構(gòu)建信息、調(diào)試器信息、等。
          • 狀態(tài)欄:該區(qū)域顯示開發(fā)過程中的一些狀態(tài)信息,如當(dāng)前文件全路徑名、文件編碼格式、插入點(diǎn)所在位置(行、列)等。



          6. Code::Blocks 開發(fā)簡(jiǎn)單示例

          下面介紹使用 Code::Blocks 集成開發(fā)環(huán)境開發(fā)一個(gè)簡(jiǎn)單的 C 語言示例程序(向控制臺(tái)輸出“Hello, World!”)。

          6.1 編輯源代碼

          一、新建

          Code::Blocks 可以通過如下幾種方式新建一個(gè)源代碼文件:

          • 方式一:通過快捷鍵Ctrl+Shift+N直接新建
          • 方式二:通過點(diǎn)擊工具欄新建圖標(biāo)來新建
          • 方式三:通過執(zhí)行菜單項(xiàng)【文件】-【新建】-【文件】,在彈出的對(duì)話框窗口中選擇【C/C++ Source】-【C】來新建

          本示例源碼在新建時(shí)的界面截圖如下:

          新建源碼文件

          二、編輯

          在上圖的代碼編輯器進(jìn)行相關(guān)源碼的編輯,相關(guān)界面截圖如下:

          編輯源碼文件

          三、保存

          Code::Blocks 可以通過如下幾種方式保存一個(gè)源代碼文件:

          • 方式一:通過快捷鍵Ctrl+S來調(diào)用保存對(duì)話框窗口,選擇文件保存路徑并設(shè)置文件名。
          • 方式二:通過點(diǎn)擊工具欄保存圖標(biāo)來調(diào)用保存對(duì)話框窗口,選擇文件保存路徑并設(shè)置文件名。
          • 方式三:通過執(zhí)行菜單欄【文件】下的【保存文件】子菜單項(xiàng)來調(diào)用保存對(duì)話框窗口,選擇文件保存路徑并設(shè)置文件名。

          本示例源碼在保存后的界面截圖如下:

          保存源碼文件

          6.2 構(gòu)建

          Code::Blocks 可以通過如下幾種方式對(duì)源碼進(jìn)行構(gòu)建:

          • 方式一:通過快捷鍵Ctrl+F9直接構(gòu)建當(dāng)前源碼。
          • 方式二:通過點(diǎn)擊工具欄構(gòu)建圖標(biāo)直接構(gòu)建當(dāng)前源碼。
          • 方式三:通過執(zhí)行菜單欄【構(gòu)建】下的【構(gòu)建】子菜單項(xiàng)來構(gòu)建。

          本示例源碼在構(gòu)建時(shí)會(huì)在【日志窗口】的【構(gòu)建記錄面板】中顯示相關(guān)編譯信息(如下圖紅框內(nèi)),如果構(gòu)建無誤會(huì)在當(dāng)前位置生成可執(zhí)行文件(如:hello.exe)。

          構(gòu)建截圖

          6.3 運(yùn)行

          Code::Blocks 可以通過如下幾種方式運(yùn)行已經(jīng)構(gòu)建(無錯(cuò))后的可執(zhí)行程序:

          • 方式一:通過快捷鍵Ctrl+F10直接運(yùn)行 或 快捷鍵Ctrl+F9構(gòu)建并運(yùn)行
          • 方式二:通過點(diǎn)擊工具欄運(yùn)行圖標(biāo)構(gòu)建并運(yùn)行圖標(biāo)直接運(yùn)行
          • 方式三:通過執(zhí)行菜單欄【構(gòu)建】下的【運(yùn)行】或【構(gòu)建并運(yùn)行】子菜單項(xiàng)來運(yùn)行

          本示例源碼經(jīng)編譯成功運(yùn)行后,會(huì)彈出一個(gè)新的終端窗口,并在其界面上打印出“Hello, World!”(如下圖示):

          運(yùn)行截圖


          7. Code::Blocks 點(diǎn)評(píng)

          本人從軟件性質(zhì)、安裝卸載、功能使用、平臺(tái)支持、應(yīng)用場(chǎng)景等方面給予點(diǎn)評(píng)如下(個(gè)人淺見,僅供參考):

        23. 軟件性質(zhì)
          • 免費(fèi)、開源
        24. 安裝卸載
          • 安裝文件體積較大( 帶編譯器的約145MB)
          • 下載便捷安裝/卸載過程快捷、方便
          • 安裝文件能及時(shí)更新(最新更新日期為2020年04月03日)
        25. 功能使用
          • 功能齊全(集代碼編輯、編譯、運(yùn)行和調(diào)試于一身)
          • 內(nèi)嵌GCC編譯器、GDB調(diào)試器
          • 調(diào)試功能強(qiáng)大
          • 有官方提供的(pdf和chm格式)的用戶手冊(cè)(需從官網(wǎng)下載)
          • 操作較Dev-C++要稍復(fù)雜些、學(xué)習(xí)成本低
          • 良好的中文支持(新版已修復(fù)之前存在的中文亂碼現(xiàn)象)
          • 啟動(dòng)速度較慢(不足)
        26. 平臺(tái)支持
          • 支持跨平臺(tái)
        27. 應(yīng)用場(chǎng)景
          • 很多C語言編程書、MOOC課程的配套開發(fā)工具
          • C/C++語言初學(xué)者和愛好者常用開發(fā)工具

          總結(jié):Code::Blocks也是一款比較適合C/C++初學(xué)者使用的C/C++語言集成開發(fā)環(huán)境。


          結(jié)束語

          相信各位 C 語言初學(xué)者們閱讀完本文后,應(yīng)該已經(jīng)對(duì)如何在 Windows 平臺(tái)安裝 Code::Blocks 集成開發(fā)環(huán)境,以及如何利用 Code::Blocks 進(jìn)行 C 語言程序簡(jiǎn)單開發(fā)(源碼編輯、構(gòu)建、運(yùn)行等)有了一個(gè)基本的了解掌握,接下來就可以進(jìn)入到 C 語言的學(xué)習(xí)應(yīng)用環(huán)節(jié)了。

          本系列接下來還會(huì)對(duì)其他 C/C++語言開發(fā)環(huán)境進(jìn)行介紹,敬請(qǐng)期待!

          希望本文能對(duì)您有所幫助!喜歡的話就點(diǎn)個(gè)贊加關(guān)注支持一下哈:)


          codeblocks支持的GUI程序有這些,下面介紹下。介紹是我百度搜的,我只用過MFC和Win32 GUI。簡(jiǎn)單做個(gè)介紹認(rèn)識(shí)下。

          FLTK

          一種使用C++開發(fā)的GUI工具包

          FLTK (Fast Light Tool Kit 發(fā)音為fulltick) 是一種使用C++開發(fā)的GUI工具包,它可以應(yīng)用于Unix,Linux,MS-Windows95/98/NT/2000和MacOS操作系統(tǒng)平臺(tái),相 對(duì)于其它的許多圖形接口開發(fā)工具包(如MFC、GTK、QT等),它具有體積很小、速度比較快,且有著更好的移植性。

          FLTK,如同其名字所表達(dá)的:The Fast Light Toolkit,一個(gè)輕量級(jí)的GUI開發(fā)庫。但這輕量級(jí)并不代表功能的羸弱,相反,F(xiàn)LTK在具有基本的GUI功能之外,還擁有一些特殊的功能,比如跨平臺(tái)、內(nèi)置 OpenGL功能、速度更快、尺寸更小、協(xié)議寬松等。當(dāng)然,缺點(diǎn)也是有的,比如對(duì)于復(fù)雜的界面構(gòu)件支持不夠,資源支持的不足等。

          FLTK 發(fā)音為 "fulltick"。

          FLTK ,可以在UNIX/Linux (X11),Microsoft Windows和 MacOS X平臺(tái)運(yùn)行。

          1. 提供豐富的跨平臺(tái)的GUI構(gòu)件(Widget)。有按鈕,菜單,窗口等,近六十個(gè)。

          2. 支持OpenGL,提供Fl_GL_Window,支持OpenGL相關(guān)的操作。

          3. 提供界面設(shè)計(jì)工具FLUID,非常方便進(jìn)行界面的設(shè)計(jì)。

          4. 良好的跨平臺(tái)移植性。

          5. 支持多種C++編譯器,Gcc,BC,VC等等。

          6. 靈活性。FLTK本身可以定制,以滿足不同的需要。這使得FLTK在嵌入式開發(fā)上有著極大的競(jìng)爭(zhēng)力,這正是我要推薦使用FLTK的原因。 [1]

          //-----------------------------------------------------------------------

          GTK+

          圖形工具包

          最初,GTK+ 是作為另一個(gè)著名的開放源碼項(xiàng)目 —— GNU Image Manipulation Program (GIMP) —— 的副產(chǎn)品而創(chuàng)建的。在開發(fā)早期的 GIMP 版本時(shí),Peter Mattis 和 Spencer Kimball 創(chuàng)建了 GTK(它代表 GIMP Toolkit),作為 Motif 工具包的替代,后者在那個(gè)時(shí)候不是免費(fèi)的。(當(dāng)這個(gè)工具包獲得了面向?qū)ο筇匦院涂蓴U(kuò)展性之后,才在名稱后面加上了一個(gè)加號(hào)。)

          GTK(Gnome Toolkit)是一套跨多種平臺(tái)的圖形工具包,按LGPL許可協(xié)議發(fā)布的。雖然最初是為GIMP寫的,但早已發(fā)展為一個(gè)功能強(qiáng)大、設(shè)計(jì)靈活的通用圖形庫。特別是被GNOME選中使得GTK+廣為流傳,成為L(zhǎng)inux下開發(fā)圖形界面的應(yīng)用程序的主流開發(fā)工具之一,當(dāng)然GTK+并不要求必須在Linux上,事實(shí)上,目前GTK+已經(jīng)有了成功的windows版本。 [1]

          GTK+雖然是用C語言寫的,但是您可以使用你熟悉的語言來使用GTK+,因?yàn)镚TK+已經(jīng)被綁定到幾乎所有流行的語言上,如:C++, Guile, Perl, Python, TOM, Ada95, Objective C, Free Pascal, Eiffel等。 [1]

          使用 GTK+ 這樣的庫比起編寫自己的 GUI 代碼來有多個(gè)優(yōu)勢(shì)。例如,它可以顯著節(jié)約開發(fā)時(shí)間,讓開發(fā)人員把精力集中在項(xiàng)目真正重要和真正獨(dú)特的地方,而不必重復(fù)公共的功能。對(duì)于用戶來說,這意味著他們使用的應(yīng)用程序之間具有更好的一致性:工具包能在哪使用,應(yīng)用程序就能跟到哪里。就像使用 LEGO 一樣,所有的人都使用同一兼容尺寸這一事實(shí),意味著設(shè)計(jì)可以在使用庫的人之間共享,不論他們?cè)谀睦锸褂盟?/span>

          在現(xiàn)實(shí)中,現(xiàn)代的 GUI 工具包做的工作不僅僅是避免重復(fù)。它們提供了許多高級(jí)功能,用戶希望在他們的應(yīng)用程序中擁有這些功能,但是用別的方法得不到這些功能,因?yàn)樵谶@類工具包上所投入的時(shí)間和工作,要遠(yuǎn)遠(yuǎn)超過在單一應(yīng)用程序上的花費(fèi)。所以,如果在應(yīng)用程序中使用 GUI 對(duì)您來說很重要,那么請(qǐng)使用工具包。除此之外別無他法。那么,剩下的惟一問題就是,應(yīng)當(dāng)使用哪個(gè)工具包?

          //--------------------------------------------------------------------------

          QT4 QT5這個(gè)是知名跨平臺(tái)的開發(fā)支持庫。

          //--------------------------------------------------------------------------

          SmartWin

          SmartWin++是一個(gè)100%免費(fèi)的c++ GUI與soap開發(fā)庫,可以用來開發(fā)基于個(gè)人電腦。

          可以用來開發(fā)基于個(gè)人電腦,掌上電腦,windows mobie 或者windows CE系統(tǒng)上的界面應(yīng)用程序.使用SmartWin++即可以開發(fā)開源應(yīng)用程序,也可以用于開發(fā)商業(yè)應(yīng)用程序,得益于SmartWin++基于BSD 許可權(quán).

          SmartWin++的初衷是用于替代windows的MFC與WTL庫.由于WineLib的出現(xiàn),現(xiàn)在SmartWin++同樣可以用于非windows系統(tǒng)上的開發(fā).

          SmartWin++內(nèi)部大量使用了STL與boost庫,對(duì)STL完全兼容.

          //------------------------------------------------------------------------------------------

          Win32 GUI

          這個(gè)是標(biāo)準(zhǔn)的Windows 32位 圖形應(yīng)用程序。

          //-----------------------------------------------------------------------------------------

          wxWidgets

          wxWidgets是一個(gè)開源的跨平臺(tái)的C++構(gòu)架庫(framework),它可以提供GUI(圖形用戶界面)和其它工具。

          wxWidgets在最開始是由愛丁堡(Edinburgh)大學(xué)的人工智能應(yīng)用學(xué)院開發(fā)的,主要是內(nèi)部使用,而在1992年第一次公布。 2.x版本做了很大程度的改良,并且由Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik和更多其他的人所編寫和維護(hù)。

          wxWidgets的主體是由C++構(gòu)建的,但你并不是必需通過C++才能使用wxWidgets.wxWidgets擁有許多其它語言的綁定(binding),使你在用其它語言編寫程序的時(shí)候也可以使用wxWidgets.

          * wxPython a Python binding,

          * wxPerl a Perl binding,

          * wxBasic a Basic binding,

          * wxLua a Lua binding,

          * wxJavaScript a JavaScript binding,

          * wxJava a Java binding by Steve Perkins,

          * wx4j a Java binding by Dave Dribin,

          * wxRuby a Ruby binding,

          * wxEiffel an Eiffel binding,

          * wxHaskell a Haskell binding,

          * wxEuphoria a Euphoria binding,

          * wxAda the start of an Ada binding for wxWidgets.

          wxwidgets是一個(gè) c++編寫的用來提供gui開發(fā)的框架。它包含一個(gè)可以支持現(xiàn)今幾乎所有操作系統(tǒng)(Version 2 currently supports all desktop versions of MS Windows, Unix with GTK+, Unix with Motif, and MacOS. An OS/2 port is in progress.)的GUI庫和其他一些很有用的工具,提供了類似MFC的功能。而且,特別要說一下,這個(gè)c++lib的新版本還提供了對(duì)掌上電腦的支持。當(dāng)然,說到這里很多人會(huì)想到j(luò)ava對(duì)多系統(tǒng)的支持,其實(shí)這是不一樣的,java的跨平臺(tái)是建立在“中間代碼”的基礎(chǔ)上的,就是說需要在目標(biāo)平臺(tái)上安裝java解釋器;但是wxwidgets是c++庫,經(jīng)過編譯后,他提供的是native級(jí)的機(jī)器碼,在gui編程方面,這可是意味著很大的不同。 [1]

          使用wxWidgets開發(fā)的程序有很多,比較著名的有跨平臺(tái)3D游戲0.A.D, 集成編程工具Code::Blocks和CodeLite,文件傳輸工具filezilla。

          //-----------------------------------------------------------------------------------------------

          我會(huì)選一個(gè)或幾個(gè)框架來移植我多年前開發(fā)的LOW游戲。

          以前的是Win32 GUI和MFC的,移植有挑戰(zhàn),基本是重新寫吧。

          最近打算寫點(diǎn)東西,先把C語言復(fù)習(xí)下,畢竟上次寫程序是15年前2008年了。

          本來應(yīng)該用VC6,但是應(yīng)該用開源的,好吧,那用codeblocks,很多人說應(yīng)該用Dev C++

          那個(gè)停止維護(hù)時(shí)間太久了,還不如vc6好用。


          選擇FossHUB下載,Sourceforge.net那里不好找。


          選這個(gè)64位帶編譯器的便攜版,解壓就能用,不需要安裝。


          解開這個(gè)codeblocks.exe就是IDE的啟動(dòng)文件,右鍵發(fā)送快捷方式到桌面,以后好啟動(dòng)。


          打開后選file->new->project



          Category:選Console后會(huì)剩下控制臺(tái)項(xiàng)目


          點(diǎn)擊Console application后點(diǎn)Go繼續(xù)。


          我不理解這頁啥意思?無聊瘋掉了?勾上下次跳過這頁后next。


          當(dāng)然選C了,C++和C的語法還是要區(qū)分的。


          這里Project title起好,后面的名字會(huì)自動(dòng)填寫,不需要修改的話next。


          這里可以選擇編譯器,我只安裝了GNU GCC Compiler,codeblocks自帶的也是這個(gè)。

          finish完成。


          好了點(diǎn)main.c顯示標(biāo)準(zhǔn)的helloworld程序,這里點(diǎn)擊紅三角運(yùn)行會(huì)黑框一閃而過。微軟的vs會(huì)停下,其他的不會(huì),


          我們?cè)谠创a里加入getchar()函數(shù)等待輸入,停一下。

          鏈接:https://pan.baidu.com/s/1Banz1On18RUVVU3wU9f3fA?pwd=2oai

          提取碼:2oai

          codeblock+C語言編程練習(xí)100題,我放網(wǎng)盤了需要的自己拿。

          我這系列是給朋友準(zhǔn)備的,我準(zhǔn)備訓(xùn)練一些幫手,一個(gè)人搞開發(fā)太累了。

          下節(jié)是練習(xí)題了。


          主站蜘蛛池模板: 海角国精产品一区一区三区糖心 | 一区二区三区久久精品| 丰满少妇内射一区| 精品日韩在线视频一区二区三区| 无码精品久久一区二区三区 | 国产午夜精品一区二区三区漫画| 日本一区二区三区精品视频| 免费高清在线影片一区| 亚洲av高清在线观看一区二区 | 亚洲Av无码国产一区二区| 人妻在线无码一区二区三区| 成人国产精品一区二区网站公司 | 国产成人精品无人区一区| 国产情侣一区二区三区| 亚洲一区二区三区香蕉| 波多野结衣中文字幕一区| 亚洲色偷偷偷网站色偷一区| 在线观看亚洲一区二区| 精品国产免费一区二区| 午夜精品一区二区三区在线观看| 国产精品免费一区二区三区 | 国产综合无码一区二区三区| 无码少妇一区二区三区| 在线中文字幕一区| 国产精品制服丝袜一区| 人妻无码一区二区三区AV| 国产精品无码一区二区三级| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产成人一区二区三区在线观看| 国模大胆一区二区三区| 日韩一区二区在线观看视频| 亚洲电影一区二区| 亚洲国产精品无码久久一区二区 | 一区二区三区亚洲视频| 四虎一区二区成人免费影院网址 | 多人伦精品一区二区三区视频| 国产吧一区在线视频| 中文字幕日韩一区二区不卡| 久久se精品一区二区国产| 无码一区二区三区免费| 鲁丝丝国产一区二区|