Visual C++ 6.0(VC6)小技巧

來源:互聯網
上載者:User
  1) 有時候,你可能在編譯的時候,電腦突然非法關機了(可能某人不小心碰了電源或你的記憶體不穩定等原因)。當你重啟機器後開啟剛才的項目,重新進行編譯,發現VC會崩掉。你或許以為你的VC編譯器壞了,其實不然(你試試編譯其它項目,還是好的!),你只要將項目的.ncb、.opt、.aps、.clw檔案以及Debug、Release目錄下的所有檔案都刪掉,然後重新編譯就行
了。

  2) 如果你想與別人共用你的原始碼項目,但是把整個項目做拷貝又太大。你完全可以刪掉以下檔案:.dsw、.ncb、.opt、.aps、.clw、. plg檔案以及Debug、Release目錄下的所有檔案。

  3) 當你的Workspace中包含多個Project的時候,你可能不能直觀地、一眼看出來哪個是當前項目。可以如下設定:Tools->Options->Format,然後在Category中選擇Workspace window,改變其預設的字型(比如設成Fixedsys)就行了。

  4) 如何給已有的Project改名字?將該Project關掉。然後以文字格式設定開啟.dsp檔案,替換原來的Project名字即可。

  5) VC6對類成員的智能提示功能很有用,但有時候會失靈。你可以先關掉項目,將.clw和.ncb刪掉,然後重新開啟項目,點擊功能表項目 View->ClassWizard,在彈出的對話方塊中按一下“Add All”按鈕;重新Rebuild All。應該可以解決問題。

1.檢測程式中的括弧是否匹配
把游標移動到需要檢測的括弧(如大括弧{}、方括弧[]、圓括弧()和角括弧<>)前面,鍵入快速鍵“Ctrl+]”。如果括弧匹配正確,游標就跳到匹配的括弧處,否則游標不移動,並且機箱喇叭還會發出一聲警告聲。

2.查看一個宏(或變數、函數)的宏定義
把游標移動到你想知道的一個宏上,就比如說最常見的DECLARE_MAP_MESSAGE上按一下F12(或右鍵菜單中的Go To Defition Of …),如果沒有建立Browse files,會出現提示對話方塊,確定,然後就會跳到定義那些東西的地方。
相當可喜的是,它也可以看到Microsoft定義的系統宏,非常good.

3.格式化一段亂七八糟的原始碼
選中那段原始碼,按ATL+F8。

4.在編輯狀態下發現成員變數或函數不能顯示
刪除該項目副檔名為.ncb檔案,重新開啟該項目。

5.如何整理ClassView視圖中大量的類
可以在classview 視圖中右鍵建立檔案夾(new folder),再把具有相近性質的類拖到對應的檔案夾中,使整個視圖看上去清晰明了.

6.定位預先處理指定
在源檔案中定位游標到對稱的#if, #endif,使用Ctrl+K.

7.如何添加系統中Lib到當前項目
在Project | Settings | Link | Object/library modules:輸入Lib名稱,不同的Lib之間用空格格開.

8.如何添加系統中的標頭檔(.h)到當前項目.
#include <FileName.h>,告訴編譯到VC系統目錄去找;使用#include "FileName.h",告訴編譯在當前
目錄找.

9.如何在Studio使用彙編調試
在WorkBench的Debugger狀態下按CTRL+F7.

10.怎樣處理ClassZiard找不到的系統訊息
如果要在ClassWizard中處理WM_NCHITTEST等系統訊息,請在ClassWizard中Class Info頁中將
Message filter改為Window就有了.

11.如何乾淨的刪除一個類
先從Workspace中的FileView中刪除對應的.h和.cpp檔案,再關閉項目,從實際的檔案夾中刪除對應的.h和.cpp檔案與.clw檔案。

12.在Studio中快速切換兩個檔案
有時,我們需要在最近使用的兩個檔案中快速切換,換Ctrl+F6。這在兩個檔案不相今的時候就有用的.

13.取得來源程式預先處理後的結果:
在 Studio裡,可以在->PROJECT->SETTINGS->C/C++->Project Options中,在最後加上 /P /EP這兩個編譯開關即可做到"只進行預先處理".就可以了。編譯以後就可以在來源程式目錄中發現“檔案名稱.I ”的文字檔。這就是預先處理後的結果。
(注意註:區分大小定,請用大定/P)

14.在Debug模式中查看WINAPI調用後的傳回值:
很簡單,且實用:在watch中加入@hr,err。

15.產生指定來源程式檔案的彙編代碼:
從IDE菜單的Project->Setting開啟項目設定,按如下檔案做:
1.先在左邊選擇指定檔案,可以多選。
2. 在右邊的C++屬性頁面中,在category中選擇List Files,接著在下面的List Files Type中選擇Assembly and source code(或選擇其它),最後在List File Name中輸入在個C/C++源檔案產生的相應的彙編代碼的檔案。
3.編譯整個工程。

16.手工編譯純資源成dll:
Rc.exe /v data.rc
Cvtres.exe /machine:ix86 data.res
Link /SUBSYSTEM:WINDOWS /DLL /NOENTRY data.res ;編譯成DLL檔案
這種方式建立的DLL是最小的,比起你用Win 32 Dynamic Libray等產生的更小。

17:怎樣快速產生一個與現有項目除了項目名外完全相同的新項目?

利用File菜單下產生新項目中的Custom AppWizard ,選擇 An existing Project ,然後選擇現有項目的專案檔名(*.dsp)Finish,編譯後就產生一個可以產生與現有項目相同但可以重新取名的項目的AppWizard。你可以象用MFC AppWizard一樣用它。如果不想用了,可以在VC 安裝目錄下Common\MSDev98\Template目錄中刪除該Wizard中.awx和 .pdb檔案。   

18:如果想把整個項目拷貝到磁碟片,那些檔案可以刪掉?  

  除了專案檔夾中debug檔案夾可以刪除外,.ncb,.clw,.opt 等檔案也可以刪除,這些檔案Rebuilt all後可以重建。   

附:VC專案檔說明
.dsp 項目參數設定檔,這個檔案太重要,重點保護對象。.
.dsw 工作區檔案,重要性一般,因為它資訊不我,容易恢複。
以下檔案在項目中是可丟棄的,有些檔案刪除後,VC會自動產生的。
.clw ClassWizard資訊檔,實際上是INI檔案的格式,有興趣可以研究一下.有時候ClassWizard出問題,手工修改CLW檔案可以解決.如果此檔案不存在的話,每次用ClassWizard的時候繪提示你是否重建.
.ncb 無編譯瀏覽檔案(no compile browser)。當自動完成功能出問題時可以刪除此檔案。build後會自動產生。
.opt 工程關於開發環境的參數檔案。如工具條位置等資訊;(可丟棄)
.aps (AppStudio File),資源輔助檔案,二進位格式,一般不用去管他.
.plg 是編譯資訊檔,編譯時間的error和warning資訊檔(實際上是一個html檔案),一般用處不大.在Tools->Options裡面有個選項可以控制這個檔案的產生.
.hpj (Help Project)是產生協助檔案的工程,用microsfot Help Compiler可以處理.
.mdp (Microsoft DevStudio Project)是舊版本的專案檔,如果要開啟此檔案的話,會提示你是否轉換成新的DSP格式.
.bsc 是用於瀏覽項目資訊的,如果用Source Brower的話就必須有這個檔案.如果不用這個功能的話,可以在Project Options裡面去掉Generate Browse Info File,可以加快編譯速度.
.map 是執行檔案的映像資訊紀錄檔案,除非對系統底層非常熟悉,這個檔案一般用不著.
.pch (Pre-Compiled File)是先行編譯檔案,可以加快編譯速度,但是檔案非常大.
.pdb (Program Database)記錄了程式有關的一些資料和調試資訊,在調試的時候可能有用.
.exp 只有在編譯DLL的時候才會產生,記錄了DLL檔案中的一些資訊.一般也沒什麼用.
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.