VC 下如何正確的建立及管理專案

2022-09-07 08:03:10 字數 1730 閱讀 2297

本文講解 visual c++ 的專案檔案組成,以及如何正確的建立及管理專案。

本文所設計的內容是初學者必須要掌握的。不能正確的管理專案,就不能進一步寫有規模的程式。

一、專案下各種常見檔案型別的作用

**檔案

擴充套件名為 .cpp、.c、.h 等。

通常情況下,專案會由多個**檔案和標頭檔案組成,每個檔案實現不同的功能。

資源檔案

擴充套件名為 .rc 。

專案管理檔案

副檔名在不同版本的 vc 下有區別:vc6 為 .dsp,vc2008 / vc2010 為 .vcproj,vc2012 為 .vcxproj 。

專案管理檔案管理所有**、資源檔案以及專案設定。

工作區管理檔案

副檔名在不同版本的 vc 下有區別:vc6 為 .dsw,vc2008 及以上版本為 .sln 。

在工作區內可以包括多個專案。

編譯的輸出檔案

預設情況下,vc 會將編譯結果輸出在 debug 和 release 資料夾下面。

二、建立專案

每個專案要有乙個獨立的資料夾,千萬不要在同乙個資料夾裡面放不同專案的**檔案。

我理解,很多初學者寫的專案都只有幾十行,為了幾十行**就建立乙個資料夾以及一大堆於此相關的檔案,似乎不值得。但是,編寫**必須使用正確的方式,同乙個資料夾只能有與本專案相關的檔案。

當然,如果僅僅作為小**的儲存方式,也是可以在同乙個資料夾下面存放多個不同專案的**檔案的。

每次啟動專案,不要雙擊 .cpp 檔案,而要雙擊 .dsw 檔案。這樣才能讓專案相關的檔案都被正確關聯。

三、管理專案

隨著**越寫越大,專案所涉及的檔案也會越來越多。這時候,將這些檔案分類存放就顯得很重要了。例如,可以將所有資源放在 res 資料夾下面等等。

四、發布專案

專案寫完以後,想把最終生成的 .exe 發給好友欣賞,這時候就要注意了:

vc 的編譯輸出有兩個資料夾,debug 和 release。

debug 資料夾下面的 .exe 檔案,是用來除錯的,裡面包含多種除錯資訊,比較臃腫,並且使用的是除錯版本的庫,因此發給別人的時候,別人通常是無法執行的。

release 資料夾下面的 .exe 檔案,是用來發布的,裡面刪掉了所有除錯資訊,比較精簡,使用常規庫,是可以拷貝給別人使用的。

在 vc 頂部的工具條上可以切換編譯方式是 debug 還是 release。

對於一般程式而言:

vc6 編譯的 release 版本的 .exe 檔案,可以單獨執行在任何 windows 平台上(大於 win95 即可)。

vc2008 / 2010 / 2012 編譯的 release 版本的 .exe 檔案,執行它的電腦需要安裝對應版本的執行時庫。電腦上一般都有安裝。如果沒有安裝,單獨裝一下就好了。

vc2008 (vc++ 9.0) 執行時庫(x86):

vc2008 (vc++ 9.0) 執行時庫(x64):

vc2010 (vc++ 10.0) 執行時庫(x86):

vc2010 (vc++ 10.0) 執行時庫(x64):

vc2012 (vc++ 11.0) 執行時庫:

vc2013 (vc++ 12.0) 執行時庫:

vc2015 (vc++ 14.0) 執行時庫:

vc2017 (vc++ 15.0) 執行時庫(x86):

vc2017 (vc++ 15.0) 執行時庫(x64):

**自easyx 官方**中的文章vc 下如何正確的建立及管理專案

如何正確的建立MySQL索引

1 較頻繁地作為查詢條件的字段 這個都知道。什麼是教頻繁呢?分析你執行的所有sql語句。最好將他們乙個個都列出來。然後分析,發現其中有些欄位在大部分的sql語句查詢時候都會用到,那麼就果斷為他建立索引。2 唯一性太差的字段不適合建立索引 什麼是唯一性太差的字段。如狀態字段 型別字段。那些只儲存固定幾...

VC如何正確的刪除C 封裝的控制代碼。。。

參考1 參考2 vc中c 類封裝了視窗控制代碼。c 通常是在析構函式刪除動態分配的記憶體。而視窗a是在ondestroy裡面刪除自己所有的子視窗。我們不能一會這裡刪除子視窗,一會那裡刪除c 類分配的記憶體,這樣太零亂,不易維護和理解。又因為c 類和視窗控制代碼被繫結到了一起,不能說這個視窗已經des...

舉兩個栗子 如何正確建立個人的機器學習專案集

面試機器學習方面的工作時,在簡歷的個人專案那塊,你會寫什麼?建模?做機器學習專案?專案資料從哪兒來?在 sharpestminds 創始人 edouard harris 介紹的兩個成功例子中,人家是從基礎的收集資料開始一步步做專案的 目標明確,做到極致。我是一名物理學家,在 yc startup 工...