不知道爲何,幾乎全部的C++編程教程都是從命令行版(控制檯應用程序)的Hello World開始的。然而,對於如今的年輕人來講,從小就用鼠標點擊窗口或圖標操做電腦,對於那個神祕黑色的窗口中的文字就像天書。對於咱們這些從DOS時代走來的人,或許那個黑色窗口會喚起不少記憶,可是,對於當前的GUI化的時代來講,那個窗口已經沒有多少意義了。除非爲了顯示個人知識淵博和高深莫測,一般我不會給年輕人講述那個黑色窗口中的東西。html
既然如今學習C++編程的都是年輕人,我仍是講一下怎樣構建GUI版的Hello World吧。編程
若是你尚未搭建Code::Blocks平臺,請先看一下個人另外一篇文章:《利用Code::Blocks搭建64位C++開發平臺》。windows
下面我要講述的內容包括:在Code::Blocks中用C++編寫一個Windows GUI程序,並編譯生成32 bit 和64 bit兩個版本。服務器
建立Windows GUI程序和建立Console application的操做幾乎是相同的,因此在看如下步驟以前,先看一下個人另外一篇文章《體驗Code::Blocks下的C++編程》。app
在下面的描述中,只要與建立控制檯程序相同的操做我將簡述或省略。這樣作不只僅是爲了節省我時間,也是爲了給服務器節省一點空間。工具
第一步:打開新建項目嚮導學習
這一步跟建立控制檯程序是相同的,後續就有差異了。有兩種方法:ui
①主菜單:File->New->Projectsspa
②點擊Start Here頁面中的Create New Project操作系統
第二步:在嚮導中選擇項目類型Win32 GUI project
第三步:選擇窗口類型,點擊Next
提供兩種窗口類型,具體意義之後解釋,如今隨便選擇一個就能夠了(好比選擇Dialog based)。
第四步:輸入項目名稱、文件
選擇文件保存位置,輸入項目標題後,項目文件名自動按標題生成。
界面及操做與控制檯程序相同,程序名設置爲ghello。
第五步:選擇編譯器
這一步界面、內容及操做與控制檯程序相同,仍是保持默認就能夠了,直接點擊Finish就好了。
生成的文件比控制檯文件要多一些,包括源代碼、頭文件、資源文件等。
第六步:編譯運行
點擊上圖中的編譯運行按鈕,就會執行編譯過程。只要不出現錯誤,編譯連接完成後就會運行程序,出現如下窗口。這只是一個空窗口,儘管沒有內容,但外觀跟平時使用的程序的窗口是同樣的。
到這一步,你的第一個windouows GUI應用程序已經建立完成了,是否是很簡單?
儘管生成的是一個空窗口,起碼說出現了熟悉的樣貌了。之後根據須要,添加代碼,就能夠實現更多的功能。
如今先把窗口的標題由Dialog改成Hello World
雙擊Code::Blocks左邊管理欄中的文件resource.rc,你會在右邊的代碼編輯區看到如下代碼
// Generated by ResEdit 1.5.10 // Copyright (C) 2006-2012 // http://www.resedit.net #include <windows.h> #include <commctrl.h> #include <richedit.h> #include "resource.h" // // Dialog resources // LANGUAGE 0, SUBLANG_NEUTRAL DLG_MAIN DIALOG 0, 0, 186, 95 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU CAPTION "Dialog" FONT 8, "Ms Shell Dlg" { } // // Manifest resources // LANGUAGE 0, SUBLANG_NEUTRAL 1 RT_MANIFEST ".\\manifest.xml"
將其中的CAPTION "Dialog"修改成CAPTION "Hello World"。而後按第六步的操做編譯運行。運行結果窗口的標題是否是編程Hello World了?
儘管這個修改沒有實際意義,可是,起碼說,它按着咱們的意圖改變了。之後,咱們能夠經過修改或增長代碼,實現我更多的、有意義的功能。
對於原生的代碼來講,編譯生成32bit和64bit程序是很簡單的。
若是你使用的是32bit的TDM-GCC,編譯結果必定是32bit的應用程序。若是你使用的是64bit的TDM-GCC,按如下步驟操做,可編譯生成32bit和64bit程序。
第一步:在Code::Blocks左邊管理欄中的項目名稱ghello上右擊鼠標,從彈出菜單中選擇Build options打開項目構建選項窗口。
第二步:選擇構建目標,而後點擊[OK]
如圖所示,你看到在項目構建選項窗口中有構建目標選項。勾選32bit選項,則編譯生成的程序爲32bit的,勾選64bit或者兩個都不選,則編譯生成的程序爲64bit的。
勾選其中32bit的,而後點擊[OK],關閉構建目標選項窗口。
第三步:從新編譯
在Code::Blocks左邊管理欄中的項目名稱ghello上右擊鼠標,從彈出菜單中選擇Rebuild,開始從新編譯程序。而後,耐心等待直到編譯完成。
第四步:運行並驗證編譯結果
點擊Code::Blocks上部工具欄中的運行按鈕(綠色三角)運行程序,出現標題欄中顯示Hello World的窗口。
右擊電腦屏幕左下角的操做系統主菜單按鈕,從彈出菜單中選擇「任務管理器」,打開任務管理器窗口。
從窗口的「應用」欄中找到gheloo.exe,你會發現後面有(32位)標記,表示應用程序是32bit的。
重複執行4.1中的第一步至第四步,不一樣之處是在第一步的構建目標選項窗口中勾選64bit,其餘操做徹底相同。
你會發現從新編譯後在第四步的任務管理器窗口中gheloo.exe後的括號沒有了,說明編譯生成的應用程序是64bit的了。
感受怎麼樣?很簡單吧?
其實,學會編寫程序是一件很簡單的事情,不過,要想學好、學精,就須要多學多練,逐步積累經驗。能夠從簡單的程序開始,逐步增長功能。也能夠選用別人的一個程序,嘗試着修改,實現本身須要的功能。
就像學習語文同樣,學會了單個字詞,而後組成語句。語句多了就成了文章,語句間有了好的邏輯關係就成了好文章了。