Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
假期孩子想學習 C 語言編程,讓幫著搭建一個簡單好用的 C 語言開發環境。雖然筆記本配置的是Windows 7 操作系統,但當前可供選擇的支持Windows 7系統的 C/C++ 語言開發環境還不少,如: Visual Studio系列、Dev-C++、Code::Blocks、Eclipse for C/C++、NetBeans、VS Code+擴展等十幾種。于是計劃就此寫個Windows平臺搭建C/C++語言開發環境系列文章,面向廣大C語言編程初學者,分別介紹幾種主流常用的Windows平臺C/C++開發環境的搭建(下載、安裝、配置)和簡單開發(源碼編輯、編譯、運行和調試),以供其了解和學習。
本系列第一篇已經對 Dev-C++ 集成開發環境進行了分享介紹,本文接著分享的是 Code::Blocks ,它是一款免費開源的、跨平臺的、全功能的C/C++語言集成開發環境。
本次分享內容的目錄如下:
前言
基本概念(IDE、編譯)
Code::Blocks 概述(簡介、特性)
Code::Blocks 安裝(下載、安裝)
Code::Blocks 設置(中文設置、編譯器設置、調試器設置)
Code::Blocks 軟件窗口界面簡介
Code::Blocks 開發簡單示例(編輯、構建、運行)
Code::Blocks 點評
結束語
集成開發環境(Integrated Development Environment,簡稱IDE)是一種輔助程序開發人員開發軟件的工具軟件,通常包括代碼編輯器、編譯器、調試器和圖形用戶界面等工具,集成了代碼編輯、編譯、運行和調試等功能于一身,可以讓開發人員通過此單一集成環境即可輕松完成程序開發。
可以對IDE簡單分類如下:
該類IDE只針對特定編程語言,如 Visual Basic針對Basic語言、Code::Blocks針對C/C++語言等。
該類IDE內含支持多種編程語言的多種編譯器/調試器,如微軟的Visual Studio 2019集合開發、分析、調試、測試、協作、部署于一身,支持C/C++、Python、JavaScript、C#等多種語言的開發),適合專業開發人員。
該類IDE本身只是代碼/文本編輯器,但可通過安裝擴展的方式調用多種編譯器/調試器,來打造強大的擴展IDE。如:Vim、Atom、Visual Studio Code等。
我們知道計算機只能識別二進制機器語言,而開發者一般編寫的是高級語言,但機器本身并不能直接識別高級語言,這時就需要將高級語言轉化成機器能識別的二進制機器語言,這個過程就叫編譯。
實現編譯的工具叫做編譯器(Compiler),最為知名的編譯器為GCC(GNU Compiler Collection,GNU編譯器套裝),是一套由GNU開發的編程語言編譯器。
C語言編譯過程分成四個步驟:
官方網址:http://www.codeblocks.org
Code::Blocks 是一款免費的、開源的、跨平臺的、功能強大的 C , C++ 和 Fortran 集成開發環境(IDE),力求為開發者(個人或團隊)提供一個能滿足各種需求的優秀編程環境(旨在滿足其用戶的最苛刻需求)。
Code::Blocks 由純粹的 C++ 語言開發完成,它使用了著名的 GUI庫 wxWidgets (最新版本的 Code::Blocks 20.03版采用了wxWidgets 3.1.3 unicode版)。對于追求完美的 C++ 程序員,再也不必忍受 Eclipse 的緩慢,再也不必忍受 VS.NET 的龐大和高昂的價格。
Code::Blocks 的插件構架設計使得開發者可以編寫插件,從而添加各種各樣的功能(例:插件已經提供了編譯、調試功能)。
Code::Blocks 被設計為完全可配置的,它提供了許多工程模板(包括:控制臺應用、D應用、Fortran應用、Java應用、靜態庫、動態連接庫、共享庫、Fortran庫、內核模塊驅動、Code::Blocks插件、Win32 GUI項目、wxWidgets項目、GTK+項目、QT5項目、Direct/X項目、FLTK項目、OpenGL項目、OpenCV項目等約40種模板),并且支持用戶自定義工程模板。
Code::Blocks 跨平臺具有一致的外觀、和操作手感。同時因在wxWidgets應用中選擇UNICODE而支持中文。
Code::Blocks是可用于滿足C和C++的開發人員最苛刻需求的免費C/ C++ IDE。這款IDE包含進行C和C++開發所要用到的全部功能。
當前最新穩定版本是2020年04月03日發布的 Code::Blocks 20.03 版本。
下面詳細介紹 Code::Blocks 在 Windows 7 操作系統中的具體安裝過程。
官網下載網址:http://www.codeblocks.org/downloads
一、下載:
Code::Blocks官網推薦兩處下載網址:
(一)從 FossHUB 網址下載
(二)從 Sourceforge.net 網址下載
二、安裝文件說明:
從上述下載網址可以看到最新版本(20.03版)的Code::Blocks分別針對32位和64位各自提供5個安裝文件,下面針對64位的安裝文件說明如下:
安裝文件說明
注1:如果是零基礎的入門者,建議直接下載帶編譯器和調試器的安裝文件codeblocks-20.03mingw-setup.exe。
注2:如果本機已經安裝了編譯器和調試器,則可以選擇下載不帶編譯器和調試器的安裝文件 codeblocks-20.03-setup.exe。
運行 Code::Blocks 安裝執行文件,按提示完成安裝(如下圖示):
Step1:進入歡迎“窗口:
歡迎窗口
Step2: 點擊上圖【Next】按鈕,進入“License Agreement”窗口,展示軟件許可協議(GPL v3):
許可協議窗口
Step3:點擊上圖【I Agree】按鈕,進入“Choose Compinents”窗口,選擇要安裝的組件(建議選擇Full,全部安裝):
選擇安裝組件窗口
Step4:點擊上圖【Next】按鈕,進入“Choose Install Location”窗口,設置軟件安裝路徑(可自定義,建議路徑中不包含中文名,如:C:\Develop\DevCpp):
選擇安裝路徑窗口
Step5:點擊上圖【Install】按鈕,真正進入安裝過程,等待……
安裝過程窗口
Step6:提示安裝完成,點擊下圖【Next】按鈕進入下一步。
提示安裝完成窗口
Step7:點擊上圖【Finish】按鈕結束安裝。
安裝完成窗口
在 Code::Blocks 安裝完成后,首次使用前建議對語言、編譯器、調試器進行設置核查確認。
針對初學者而言,開發軟件有一個熟悉的語言環境還是很重要的。 Code::Blocks 軟件是英文界面,不過網絡已有針對簡體中文的語言包提供(壓縮包文件大小400KB,雖然還沒有100%翻譯,但已經不影響正常使用了)。
注:有需要該簡體中文語言包的朋友可以私信跟我聯系提供。
設置步驟如下:
語言文件存放目錄結構
選擇菜單項
設置中文窗口
中文界面
注:如果安裝的是帶編譯器的安裝文件codeblocks-20.03mingw-setup.exe,則可以跳過本節內容。
如果安裝的是不帶編譯器的安裝文件 codeblocks-20.03-setup.exe,則需要對 Code::Blocks軟件的編譯器進行單獨設置。
設置步驟如下:
編譯器設置窗口
注:如果安裝的是帶調試器的安裝文件codeblocks-20.03mingw-setup.exe,則可以跳過本節內容。
如果安裝的是不帶調試器的安裝文件 codeblocks-20.03-setup.exe,則需要對 Code::Blocks軟件的調試器進行單獨設置。
設置步驟如下:
Code::Blocks 軟件窗口界面主要包括七大部分(如上圖示):
軟件窗口界面
下面介紹使用 Code::Blocks 集成開發環境開發一個簡單的 C 語言示例程序(向控制臺輸出“Hello, World!”)。
一、新建
Code::Blocks 可以通過如下幾種方式新建一個源代碼文件:
本示例源碼在新建時的界面截圖如下:
新建源碼文件
二、編輯
在上圖的代碼編輯器進行相關源碼的編輯,相關界面截圖如下:
編輯源碼文件
三、保存
Code::Blocks 可以通過如下幾種方式保存一個源代碼文件:
本示例源碼在保存后的界面截圖如下:
保存源碼文件
Code::Blocks 可以通過如下幾種方式對源碼進行構建:
本示例源碼在構建時會在【日志窗口】的【構建記錄面板】中顯示相關編譯信息(如下圖紅框內),如果構建無誤會在當前位置生成可執行文件(如:hello.exe)。
構建截圖
Code::Blocks 可以通過如下幾種方式運行已經構建(無錯)后的可執行程序:
本示例源碼經編譯成功運行后,會彈出一個新的終端窗口,并在其界面上打印出“Hello, World!”(如下圖示):
運行截圖
本人從軟件性質、安裝卸載、功能使用、平臺支持、應用場景等方面給予點評如下(個人淺見,僅供參考):
總結:Code::Blocks也是一款比較適合C/C++初學者使用的C/C++語言集成開發環境。
相信各位 C 語言初學者們閱讀完本文后,應該已經對如何在 Windows 平臺安裝 Code::Blocks 集成開發環境,以及如何利用 Code::Blocks 進行 C 語言程序簡單開發(源碼編輯、構建、運行等)有了一個基本的了解掌握,接下來就可以進入到 C 語言的學習應用環節了。
本系列接下來還會對其他 C/C++語言開發環境進行介紹,敬請期待!
希望本文能對您有所幫助!喜歡的話就點個贊加關注支持一下哈:)
codeblocks支持的GUI程序有這些,下面介紹下。介紹是我百度搜的,我只用過MFC和Win32 GUI。簡單做個介紹認識下。
FLTK
一種使用C++開發的GUI工具包
FLTK (Fast Light Tool Kit 發音為fulltick) 是一種使用C++開發的GUI工具包,它可以應用于Unix,Linux,MS-Windows95/98/NT/2000和MacOS操作系統平臺,相 對于其它的許多圖形接口開發工具包(如MFC、GTK、QT等),它具有體積很小、速度比較快,且有著更好的移植性。
FLTK,如同其名字所表達的:The Fast Light Toolkit,一個輕量級的GUI開發庫。但這輕量級并不代表功能的羸弱,相反,FLTK在具有基本的GUI功能之外,還擁有一些特殊的功能,比如跨平臺、內置 OpenGL功能、速度更快、尺寸更小、協議寬松等。當然,缺點也是有的,比如對于復雜的界面構件支持不夠,資源支持的不足等。
FLTK 發音為 "fulltick"。
FLTK ,可以在UNIX/Linux (X11),Microsoft Windows和 MacOS X平臺運行。
1. 提供豐富的跨平臺的GUI構件(Widget)。有按鈕,菜單,窗口等,近六十個。
2. 支持OpenGL,提供Fl_GL_Window,支持OpenGL相關的操作。
3. 提供界面設計工具FLUID,非常方便進行界面的設計。
4. 良好的跨平臺移植性。
5. 支持多種C++編譯器,Gcc,BC,VC等等。
6. 靈活性。FLTK本身可以定制,以滿足不同的需要。這使得FLTK在嵌入式開發上有著極大的競爭力,這正是我要推薦使用FLTK的原因。 [1]
//-----------------------------------------------------------------------
GTK+
圖形工具包
最初,GTK+ 是作為另一個著名的開放源碼項目 —— GNU Image Manipulation Program (GIMP) —— 的副產品而創建的。在開發早期的 GIMP 版本時,Peter Mattis 和 Spencer Kimball 創建了 GTK(它代表 GIMP Toolkit),作為 Motif 工具包的替代,后者在那個時候不是免費的。(當這個工具包獲得了面向對象特性和可擴展性之后,才在名稱后面加上了一個加號。)
GTK(Gnome Toolkit)是一套跨多種平臺的圖形工具包,按LGPL許可協議發布的。雖然最初是為GIMP寫的,但早已發展為一個功能強大、設計靈活的通用圖形庫。特別是被GNOME選中使得GTK+廣為流傳,成為Linux下開發圖形界面的應用程序的主流開發工具之一,當然GTK+并不要求必須在Linux上,事實上,目前GTK+已經有了成功的windows版本。 [1]
GTK+雖然是用C語言寫的,但是您可以使用你熟悉的語言來使用GTK+,因為GTK+已經被綁定到幾乎所有流行的語言上,如:C++, Guile, Perl, Python, TOM, Ada95, Objective C, Free Pascal, Eiffel等。 [1]
使用 GTK+ 這樣的庫比起編寫自己的 GUI 代碼來有多個優勢。例如,它可以顯著節約開發時間,讓開發人員把精力集中在項目真正重要和真正獨特的地方,而不必重復公共的功能。對于用戶來說,這意味著他們使用的應用程序之間具有更好的一致性:工具包能在哪使用,應用程序就能跟到哪里。就像使用 LEGO 一樣,所有的人都使用同一兼容尺寸這一事實,意味著設計可以在使用庫的人之間共享,不論他們在哪里使用它。
在現實中,現代的 GUI 工具包做的工作不僅僅是避免重復。它們提供了許多高級功能,用戶希望在他們的應用程序中擁有這些功能,但是用別的方法得不到這些功能,因為在這類工具包上所投入的時間和工作,要遠遠超過在單一應用程序上的花費。所以,如果在應用程序中使用 GUI 對您來說很重要,那么請使用工具包。除此之外別無他法。那么,剩下的惟一問題就是,應當使用哪個工具包?
//--------------------------------------------------------------------------
QT4 QT5這個是知名跨平臺的開發支持庫。
//--------------------------------------------------------------------------
SmartWin
SmartWin++是一個100%免費的c++ GUI與soap開發庫,可以用來開發基于個人電腦。
可以用來開發基于個人電腦,掌上電腦,windows mobie 或者windows CE系統上的界面應用程序.使用SmartWin++即可以開發開源應用程序,也可以用于開發商業應用程序,得益于SmartWin++基于BSD 許可權.
SmartWin++的初衷是用于替代windows的MFC與WTL庫.由于WineLib的出現,現在SmartWin++同樣可以用于非windows系統上的開發.
SmartWin++內部大量使用了STL與boost庫,對STL完全兼容.
//------------------------------------------------------------------------------------------
Win32 GUI
這個是標準的Windows 32位 圖形應用程序。
//-----------------------------------------------------------------------------------------
wxWidgets
wxWidgets是一個開源的跨平臺的C++構架庫(framework),它可以提供GUI(圖形用戶界面)和其它工具。
wxWidgets在最開始是由愛丁堡(Edinburgh)大學的人工智能應用學院開發的,主要是內部使用,而在1992年第一次公布。 2.x版本做了很大程度的改良,并且由Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik和更多其他的人所編寫和維護。
wxWidgets的主體是由C++構建的,但你并不是必需通過C++才能使用wxWidgets.wxWidgets擁有許多其它語言的綁定(binding),使你在用其它語言編寫程序的時候也可以使用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是一個 c++編寫的用來提供gui開發的框架。它包含一個可以支持現今幾乎所有操作系統(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的功能。而且,特別要說一下,這個c++lib的新版本還提供了對掌上電腦的支持。當然,說到這里很多人會想到java對多系統的支持,其實這是不一樣的,java的跨平臺是建立在“中間代碼”的基礎上的,就是說需要在目標平臺上安裝java解釋器;但是wxwidgets是c++庫,經過編譯后,他提供的是native級的機器碼,在gui編程方面,這可是意味著很大的不同。 [1]
使用wxWidgets開發的程序有很多,比較著名的有跨平臺3D游戲0.A.D, 集成編程工具Code::Blocks和CodeLite,文件傳輸工具filezilla。
//-----------------------------------------------------------------------------------------------
我會選一個或幾個框架來移植我多年前開發的LOW游戲。
以前的是Win32 GUI和MFC的,移植有挑戰,基本是重新寫吧。
最近打算寫點東西,先把C語言復習下,畢竟上次寫程序是15年前2008年了。
本來應該用VC6,但是應該用開源的,好吧,那用codeblocks,很多人說應該用Dev C++
那個停止維護時間太久了,還不如vc6好用。
選擇FossHUB下載,Sourceforge.net那里不好找。
選這個64位帶編譯器的便攜版,解壓就能用,不需要安裝。
解開這個codeblocks.exe就是IDE的啟動文件,右鍵發送快捷方式到桌面,以后好啟動。
打開后選file->new->project
Category:選Console后會剩下控制臺項目
點擊Console application后點Go繼續。
我不理解這頁啥意思?無聊瘋掉了?勾上下次跳過這頁后next。
當然選C了,C++和C的語法還是要區分的。
這里Project title起好,后面的名字會自動填寫,不需要修改的話next。
這里可以選擇編譯器,我只安裝了GNU GCC Compiler,codeblocks自帶的也是這個。
finish完成。
好了點main.c顯示標準的helloworld程序,這里點擊紅三角運行會黑框一閃而過。微軟的vs會停下,其他的不會,
我們在源代碼里加入getchar()函數等待輸入,停一下。
鏈接:https://pan.baidu.com/s/1Banz1On18RUVVU3wU9f3fA?pwd=2oai
提取碼:2oai
codeblock+C語言編程練習100題,我放網盤了需要的自己拿。
我這系列是給朋友準備的,我準備訓練一些幫手,一個人搞開發太累了。
下節是練習題了。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。