三、编译部分:
1. 如果一个很大的工程,需要包含大量的系统头文件,那么你可以把这些包含的头文件全部写到一个StdAfx.h的文件里,然后再建一个StdAfx.cpp,里面就一句代码,#include “StdAfx.h”,接着在解决方案管理器->你的工程上单击右键,然后按属性->配置属性->C/C++->预编译头,把创建/使用预编译头设为:创建预编译头,下面两向会自动填写,如果没有,那就填上StdAfx.h.然后把你的工程完全重新生成一编,再进入刚才的选项,把创建/使用预编译头设为:设用预编译头。好了,你的工程现在的编译速度应该超极快了。
2. 如果你的程序需要引入特定的库,那么可以在需要引用的源文件里写上:#pragma comment( lib, “xxx.lib” ) 这样就不需要到配置属性->链接器->输入里去设置了,这样还可以提高你的代码的兼容性。
3. 如果你在写DLL,而且这个DLL是被另一个工程编译出来的EXE所使用的,但是这两个工程又不在同一个文件夹里,所以你只好每次都把新编译好的DLL复制到EXE的目录下再调试,如果某次你忘了更新,这可能就会浪费你很多的时间和精力。其实你可以写一个BAT文件,用Dos命令copy,完成你需要的拷贝任务,然后把这个BAT文件放到DLL的目录下,再进入配置属性->生成事件->生成后事件->命令行中填上你要执行的BAT文件名,在编译结束后就会自动执行拷贝任务了。
4. 工具菜单->选项->环境->项目和解决方案中,可以把若生成完成时有错误,则显示任务列表窗口那一项勾上。这样在你编译结束,发现错误后,会自动弹出任务列表,然后你双击某一项任务,就会定位到出错的那一行代码上。
四。 资源部分
1. 编辑对话框时,选中一个控件,然后在属性子窗口中会列出它的所有的属性。按上面的闪电按钮,会列出它所有可用的事件,双击其中一个事件,就会跳转到相应的源文件中,这时你就可以为该控件的某一事件添加处理程序了。
2. 在使用MFC编程时,属性子窗口会显示这个类可用的重写函数和事件处理程序,双击就可以编写代码。如果发现属性子窗口和代码不对应,可以在类视图中选择你需要编辑的类,或在代码编辑中单击右键按同步类视图。
3. 一个图标文件其实是一个图标包,里面可以包含很多个大小、颜色均不一样的图标,在VC.net的图标编译器中也可以任意新建、删除、修改图标。在图像菜单中的新建图象类型、当前图标图像类型、删除图像类型可以很方便的完成此功能。
4. 菜单编辑时,在菜单项的Caption属性中输入-,该菜单项会自动变成分隔符。
五,调试部分
1. 在调试菜单->窗口子菜单中,你可以打开这些都很有用的调试辅助窗口。下面讲述的窗口都可以在这里打开。
2. 在代码编辑的最左边单击左键,会为这一行添加断点。右击这个断点可以修改这个断点的属性,比如设置这个经过这个断点多少回再停下,或着是一个条件判断语句为true时这个断点再停下等等。断点窗口可以对源文件中的断点进行更加详细的配置和管理。
3. 自动窗口和局部变量里你可查看到几乎所有当前你需要查看的变量的值,并且在这里你可以修改这个变量的值。
4. 寄存器窗口可以查看所有寄存器的状态。在这个窗口中右击,打开你需要查看的寄存器。
5. 调用堆栈,这个在出错时非常有用。比如内存访问出错,然后停到了delete源文件中的一行,这时你就可以通过堆栈来向上查找看是哪一个真正的出错源语句。
6. 命令窗口,在这里可以写VC++预定义命令,甚至可以编写部分C++代码。比如p = 5;这完全是可以的,具体可用的命令请参阅MSDN.
7. 监视窗口,在这里输入你需要查看的变量名称,它的值就会马上显示在后面。如果是一个对象,点前面的+号,它的成员就会列到下面。如果有一个数组int a[6],你可以输入:a,6,这样你就可以查看这个数组中所有元素的值了。还可以转换格式,比如token,x.更详细复杂的功能,具体请参阅MSDN.

