接著上一篇文章帶你玩轉Visual Studio——開篇介紹繼續講這個主題,現在我們從建立一個新的工程開始。 一步一步建立項目 依次選擇菜單:File\New\Project,開啟New Project對話方塊。 <1>.選擇項目類型:Win32 Console Application;<2>.填寫工程名(Project Name):TestProject(可以給它取一個任意你想要的名字);<3>.選擇該工程存放的路徑:D:\CppWorkspace。
圖 1:New Project
你可能會想問:列表裡這麼多工程類型,分別代表什麼含義啊。 這個問題後面再討論,你先記住這張圖。
點擊Ok,然後點擊Next,會出現這一步
圖 2:Application Settings
我們就採用預設的設定,點擊Finish,工程建立完成。
(這是工程相關的設定,同樣先不用管它,先記住這張圖,後面再討論)。 工程結構與目錄結構 工程結構
圖 3:工程結構
建立完成之後,我們會在左側看到這樣一個工程結構。分別說明如下:
External Dependencies:
工程的外部依賴檔案,這個目錄是VS自動產生的,你最好別動它。
Header Files:
標頭檔,也就是.h(.hpp)尾碼的標頭檔。
Source Files:
源檔案,也就.cpp(或.c,針對C語言)尾碼的檔案。
Header Files:
資源檔,如果你建立的是MFC的工程,*.rc檔案就會在這裡。 工程結構的作用: 方便管理,將不同類型或不同用途的檔案配製在不同的結構下,方便檔案的瀏覽、尋找和代碼的管理。 工程結構的目錄與真實檔案的目錄不一定相同。 你可以根據檔案的不同用途或不同含義,對工程結構重新設定。
比如我覺得Source Files和Header Files這名太長,你可以選中它按F2,分別把它改重新命名成Source和Header。關於工程結構的自訂配置,後續章節的文章還會再提到。 目錄結構
圖 4:目錄結構
正如上面提到的“工程結構的目錄與真實檔案的目錄不一定相同”,我們在檔案管理工具中開啟TestProject所在的目錄,可以看到 *.h 和 *.cpp檔案都在同一個目錄下,在我的目錄裡也就是位於D:\CppWorkspace\TestProject\TestProject。 寫一個HelloWorld程式
所有電腦語言的學習都從HelloWorld開始,Ok,那我們也從HelloWorld開始寫一個程式吧。在TestProject.cpp檔案中寫一個HelloWorld程式如下:
#include "stdafx.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ cout << "Hello World" << endl; return 0;}
編譯:
右鍵工程名TestProject選擇Build,或者點擊菜單Build\Build Project。
運行:
內容太簡單,直接運行吧,按Ctrl+F5或點擊菜單Debug\Start Without Debugging。
圖 5:程式運行結果
工程目錄下各檔案的含義
一般大部分的文章可能介紹到上面就算結束了,但我這還沒有。建立工程產生的各個檔案都你知道是什麼用的嗎。
如果你是一個初學者,你可能會不知道(老手請跳過本文)。Ok,我就帶你逐一瞭解吧。 解決方案與工程
在這之前先瞭解一個概念:解決方案與工程。
解決方案(Solution):一個大型項目的整體的工作環境;
工程 (Project):一個解決方案下的一個子工程;
在VS中,一個Solution可以有一個或多個Project。在我們建立一個工程時,如果沒有指定Solution,VS會幫我們建立一個與工程名相同的Solution,這時一個Solution裡只有一個Project。所有在我們的TestProject的檔案目錄結構中TestProject檔案夾下還有一個TestProject檔案夾(如圖4),第一個就是整個Solution的目錄,第二個才是Project的目錄。 解決方案相關的檔案:
TestProject.sln:
整個解決方案(Solution)的配製檔案,組織多個工程和相關的元素到一個解決方案中。用滑鼠雙擊它就能用VS開啟整個工程項目。
TestProject.sdf:
瀏覽相關的資料庫檔案,它支援瀏覽和導航的特性。如跳轉到方法、變數的聲明,尋找所有對象的所有被引用的地方,類別檢視等等。
TestProject.suo:
(solution user opertion) 解決方案使用者選項,記錄所有將與解決方案建立關聯的選項, 以便在每次開啟時,它都包含您所做的自訂設定.
TestProject.opensdf:
開啟解決方案(Solution)時的臨時檔案,這個檔案只有你的解決方案在VS開啟的狀態才會有,工程一關閉檔案就被刪除了。 工程相關的檔案
TestProject.vcxproj:
記錄工程(Project)相關的屬性配製。
TestProject.vcxproj.filters:
檔案過慮器,上圖3“工程結構”中各個檔案的組織和編排都是定義在這個檔案中的。如果由於某種特殊的原因(如系統或VS突然崩潰)導致你開啟工程時檔案的組織圖是亂的,100%就是這個檔案的原因。
TestProject.vcxproj.user:
使用者相關的一些配製。
上面這些檔案中有幾個比較重要的一定不能刪的檔案是:
TestProject.sln、TestProject.vcxproj、TestProject.vcxproj.filters
不要問我是怎樣知道這些檔案的作用的,請看官方文檔:
VS2010定義:https://msdn.microsoft.com/en-us/library/3awe4781.aspx.
VS2015定義:https://msdn.microsoft.com/en-us/library/vstudio/hx0cxhaw(v=vs.110).aspx
當然有一些說明是需要經過項目的實踐才能理解的。
上一篇回顧:
帶你玩轉Visual Studio——開篇介紹
下一篇要講述的內容:
帶你玩轉Visual Studio——帶你瞭解VC++各種類型的工程