1.
检测程序中的括号是否匹配
把光标移动到需要检测的括号(如大括号
{}
、方括号
[]
、圆括号()和尖括号
<>
)前面,键入快捷键
“Ctrl
+
]”
。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。
2:
定位预处理指定,如何在源文件中定位光标到对称的
#if, #endif ?
使用
Ctrl+K
快捷键。
3.
格式化一段乱七八糟的源代码
选中那段源代码,按
ATL+F8
。
4.
在编辑状态下发现成员变量或函数不能显示
删除该项目扩展名为
.ncb
文件,重新打开该项目。
5.
如何整理
ClassView
视图中大量的类
可以在
classview
视图中右键新建文件夹(
new folder
),再把具有相近性质的类拖到对应的文件夹中,使整个视图看上去清晰明了
.
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:
如何在工作区
(Workspace)
导入多个项目
(Project)?
在打开一个项目
(*.dsp
文件
)
后,在利用
“Project”
菜单下
Insert Project into Workspace
子菜单选择另一个项目文件(
*.dsp
文件),可插入另一个项目。
在
ClassView
视图中,右键可以激活其中某个项目,工作区插入多个项目能方便不同项目间拷贝代码、资源等。
19:
在
ClassView
视图中类太多如何整理
?
我们可以在
ClassView
视图中右键新建文件夹(
New Folder
),再把具有相近性质的类拖到对应的文件夹中,使整个视图看上去清晰明了。
20
:如何快速删除项目下
Debug
文件夹中临时文件
?
在
FileView
视图中选中对应项目,右键
Clean
即可。
21
:如何在
VC
中设置头文件和库文件?
除了
VC
缺省头文件和库文件外,如果经常要用到第三方的头文件和库文件可以在
Tools Options
的
Directories
中设置。如果只是本项目要用到,可以在
Project Setting->Link Object/library Modules
中设置库文件。
22:
如果让控制台应用程序支持
MFC
类库?
可以在控制台应用程序中
include
来引入
MFC
库,但是控制台应用程序缺省是单线程的,
MFC
是多线程的,为解决该矛盾,在
Project Setting->C/C++
选项,选择
Code Generation,
在
Use Run-Time Library
下拉框中选择
Debug Multithread
。
23:
如何为一个
MFC
应用程序添加
ODBC
功能?
(
1
)在文件
Stdafx.h
文件末尾添加下面一行:
#include // MFC ODBC database classes
(
2
)在文本模式下编辑
RC
文件(利用
File->Open As text
方式)
在下面的程序行(共有两处)
#include "l.chs/afxprint.rc" // printing/print preview resources
添加下一行:
#include "l.chs/afxdb.rc" // Database resources
24
:数据库表修改后,如何快速更新一个绑定到表的
CrecordSet
记录集?
利用
ClassWizard
中
Member Variables
标签下选中记录集类后,利用
UpdateColoumns
和
Bind All
。
25
:如何汉化只有可执行代码的
.exe
文件?
在
NT
下利用
VC Open File
以
Resources
方式打开
*.exe
文件,直接修改资源文件,然后保存即可。
26:
如果想把
整个项目拷贝到软盘,那些文件可以删掉
?
除了项目文件夹中
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
文件中的一些信息
.
一般也没什么用
.