release 和 debug
當編譯和執行一個工程時,可以在Debug和Release兩種配置下執行。
Debug模式用於調試程序,這是個受保護的運行環境,它將告訴你程序是否有泄露,在運行時也能對特定函數的結果進行檢查。然而它生成的可執行文件運行較慢。因此當你的應用經過測試,準備投入使用時,你應該在Release模式下進行編譯,這將生成供最終用戶使用的可執行文件。
簡單的說就是Debug下可以進行調試,查bug,改錯,且運行較慢。雖然Release下也可以打斷點,但是有時候有些變量的值在Release下是看不見的。調試的話應該用Debug。
注意:經常發生Debug模式下運行正常而Release模式出錯的情況,因此要進行更多測試來找到潛在的Bug。
F5 和 Ctrl+F5
- F5:調試模式,可以設置斷點。
- Ctrl+F5:運行模式,不可以設置斷點。
路徑間隔符/
和 \\
/
:斜槓、正斜槓、左斜槓\\
:反斜槓、右斜槓
C++中(包括java),路徑字符串間隔一般用斜槓或雙反斜槓表示、如D:/MoGu/NewDatOut
,D:\\MoGu\\NewDatOut
,其中\
是轉義字符,所以\\
實際代表的就是反斜槓。
項目配置中各類目錄作用
如圖:VS配置中有很多目錄,主要是項目需要的一些路徑,下面解釋VS配置中常用的路徑宏。
- SolutionDir:解決方案目錄
- ProjectDir:項目目錄
- Platform:平臺,32位 or 64位,32位默認空
- Configuration:配置,debug模式 or release模式
- IntDir:編譯器使用的中間目錄,產出obj文件
- OutDir:鏈接器使用的輸出目錄
- TargetDir:輸出文件所在的目錄
工作目錄:程序的當前目錄,比如程序運行時需要導入一張圖片,就會以這個目錄爲起點尋找。需要注意的是,VS配置中的工作目錄特指調試程序時的當前目錄,而當你直接雙擊運行exe文件時,程序的當前目錄是exe文件所在的目錄。
輸出目錄:程序輸出文件的目錄,即存放exe、lib或者dll文件的地方。需要注意的是,當輸出目錄和輸出文件設置的TargetDir指產生衝突時,以TargetDir爲準,而輸出目錄中只會存放pdb和ilk文件。
中間目錄:編譯時存放中間結果的目錄,如obj文件
庫目錄:第三方引用庫的目錄
包含目錄:頭文件所在目錄