自己收集、綜合了一些網(wǎng)上流傳的文章,像原創(chuàng)者致意
1.檢測(cè)程序中的括號(hào)是否匹配
把光標(biāo)移動(dòng)到需要檢測(cè)的括號(hào)(如大括號(hào){}、方括號(hào)[]、圓括號(hào)()和尖括號(hào)<>)前面,鍵入快捷鍵“Ctrl+]”。如果括號(hào)匹配正確,光標(biāo)就跳到匹配的括號(hào)處,否則光標(biāo)不移動(dòng),并且機(jī)箱喇叭還會(huì)發(fā)出一聲警告聲。
[注:當(dāng)一個(gè)函數(shù)體的內(nèi)容過(guò)長(zhǎng)時(shí),全部選中,可以把光標(biāo)移動(dòng)到函數(shù)體的{處,按下"Ctrl+Shift+]",即可全部選中]
2.格式化一段亂七八糟的源代碼
選中那段源代碼,按Alt+F8。
[另:選中一段代碼,按下Tab(或shift+Tab),右(或左)移一個(gè)Tab]
3.如何整理ClassView視圖中大量的類
可以在classview 視圖中右鍵新建文件夾(new folder),再把具有相近性質(zhì)的類拖到對(duì)應(yīng)的文件夾中,使整個(gè)視圖看上去清晰明了。
[注:事實(shí)上,我也見到在FileView里用文件夾分類的,我的感覺是:可能是為了避免在Classviews里出現(xiàn)如上述的部分函數(shù)丟失的情況吧,畢竟VC6有時(shí)并不是很穩(wěn)定,當(dāng)然這兩種方法各有利弊的,我目前一般是傾向于前者的]
4.在編輯狀態(tài)下發(fā)現(xiàn)成員變量或函數(shù)不能顯示
刪除該項(xiàng)目擴(kuò)展名為.ncb文件,重新打開該項(xiàng)目。
[注:不要?jiǎng)h除.opt文件,因?yàn)槔锩婵赡艽嬗心阍贑lassview新建的文件夾信息,刪除的話那些分類文件夾信息也一并刪除了]
5.如何添加系統(tǒng)中的頭文件(.h)到當(dāng)前項(xiàng)目。
使用#include
,告訴編譯到VC系統(tǒng)目錄去找;
使用#include "FileName.h",告訴編譯在當(dāng)前目錄找。
6.如何干凈的刪除一個(gè)類
先從Workspace中的FileView中刪除對(duì)應(yīng)的.h和.cpp文件,再關(guān)閉項(xiàng)目,從實(shí)際的文件夾中刪除對(duì)應(yīng)的.h和.cpp文件與.clw文件。
------------------------------
7.定位預(yù)處理指令
在源文件中定位光標(biāo)到對(duì)稱的#if、 #endif,使用Ctrl+K。
8.如何添加系統(tǒng)中Lib到當(dāng)前項(xiàng)目
在Project ¦ Settings ¦ Link ¦ Object/library modules:輸入Lib名稱,不同的Lib之間用空格格開。
[注:或者這樣,#pragma comment(lib,"yourlib.lib")]
9.如何在Studio使用匯編調(diào)試
在WorkBench的Debugger狀態(tài)下按CTRL+F7。
10.怎樣處理ClassWiZard找不到的系統(tǒng)消息
如果要在ClassWizard中處理WM_NCHITTEST等系統(tǒng)消息,請(qǐng)?jiān)贑lassWizard中Class Info頁(yè)中將Message filter改為Window就有了。
[注:主要是classwizard默認(rèn)的是toponthemost]
11.如果讓控制臺(tái)應(yīng)用程序支持mfc類庫(kù)
可以在控制臺(tái)應(yīng)用程序中include 來(lái)引入mfc庫(kù),但是控制臺(tái)應(yīng)用程序缺省是單線程的,mfc是多線程的,為解決該矛盾,在project setting->c/c++ 選項(xiàng),選擇code generation,在use run-time library 下拉框中選擇debug multithread。
12.如何漢化只有可執(zhí)行代碼的.exe 文件
在nt下利用vc open file 以resources方式打開*.exe 文件,直接修改資源文件,然后保存即可。
[注:我一般是用exescope編輯的]
13.在Studio中快速切換兩個(gè)文件
有時(shí),我們需要在最近使用的兩個(gè)文件中快速切換,換Ctrl+F6。這在兩個(gè)文件不相近的時(shí)候就有用的。
14.取得源程序預(yù)處理后的結(jié)果:
在Studio里,可以在->PROJECT->SETTINGS->C/C++->ProjectOptions中,在最后加上 /P /EP 這兩個(gè)編譯開關(guān)即可做到"只進(jìn)行預(yù)處理".就可以了。編譯以后就可以在源程序目錄中發(fā)現(xiàn)“文件名.I”的文本文件。這就是預(yù)處理后的結(jié)果。
[注:區(qū)分大小定,請(qǐng)用大寫/P]
15.在Debug模式中查看WINAPI調(diào)用后的返回值:
很簡(jiǎn)單,且實(shí)用:在watch中加入@hr,err。在CSDN的文檔中心有一篇講得更細(xì),可以參考(where?)。
16.產(chǎn)生指定源程序文件的匯編代碼:
從IDE菜單的Project->Setting打開項(xiàng)目設(shè)置,按如下文件做:
1.先在左邊選擇指定文件,可以多選。
2.在右邊的C++屬性頁(yè)中,在category中選擇List Files,接著在下面的List Files Type中選擇Assembly andsource code(或選擇其它),最后在List File Name中輸入在個(gè)C/C++源文件產(chǎn)生的相應(yīng)的匯編代碼的文件。
3.編譯整個(gè)工程。
17.手工編譯純資源成dll:
Rc.exe /v data.rc
Cvtres.exe /machine:ix86 data.res
Link /SUBSYSTEM:WINDOWS /DLL /NOENTRY data.res ;編譯成DLL文件
這種方式創(chuàng)建的DLL是最小的,比起用Win 32 Dynamic Libray等產(chǎn)生的更小。
閱讀文檔中心里的“充分挖掘你的VC++ IDE的潛能”,作者:zhengyun_ustc,這是一系列的好文章。
------------------------------
附:VC項(xiàng)目文件說(shuō)明.opt 工程關(guān)于開發(fā)環(huán)境的參數(shù)文件。如工具條位置等信息;
.aps (AppStudio File),資源輔助文件,二進(jìn)制格式,一般不用去管他;
.clw ClassWizard信息文件,實(shí)際上是INI文件的格式,有興趣可以研究一下.有時(shí)候ClassWizard出問(wèn)題,手工修改CLW文件可以解決.如果此文件不存在的話,每次用ClassWizard的時(shí)候繪提示你是否重建;
.dsp (DeveloperStudio Project):項(xiàng)目文件,文本格式,不過(guò)不熟悉的話不要手工修改.dsw(DeveloperStudio Workspace)是工作區(qū)文件,其他特點(diǎn)和DSP差不多;
.plg 是編譯信息文件,編譯時(shí)的error和warning信息文件(實(shí)際上是一個(gè)html文件),一般用處不大.在Tools->Options里面有個(gè)選項(xiàng)可以控制這個(gè)文件的生成;
.hpj (Help Project)是生成幫助文件的工程,用microsfot Help Compiler可以處理;
.mdp (Microsoft DevStudio Project)是舊版本的項(xiàng)目文件,如果要打開此文件的話,會(huì)提示你是否轉(zhuǎn)換成新的DSP格式;
.bsc 是用于瀏覽項(xiàng)目信息的,如果用Source Brower的話就必須有這個(gè)文件.如果不用這個(gè)功能的話,可以在Project Options里面去掉Generate Browse Info File,可以加快編譯速度;
.map 是執(zhí)行文件的映像信息紀(jì)錄文件,除非對(duì)系統(tǒng)底層非常熟悉,這個(gè)文件一般用不著;
.pch (Pre-Compiled File)是預(yù)編譯文件,可以加快編譯速度,但是文件非常大;
.pdb (Program Database)記錄了程序有關(guān)的一些數(shù)據(jù)和調(diào)試信息,在調(diào)試的時(shí)候可能有用;
.exp 只有在編譯DLL的時(shí)候才會(huì)生成,記錄了DLL文件中的一些信息.一般也沒(méi)什么用;
.ncb 無(wú)編譯瀏覽文件(no compile browser)。當(dāng)自動(dòng)完成功能出問(wèn)題時(shí)可以刪除此文件。build后會(huì)自動(dòng)生成。