Pencil.C++

更新速度可能会晚于http://blog.csdn.net/bilaopao

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  34 随笔 :: 0 文章 :: 40 评论 :: 0 Trackbacks

#

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。在CSDN的文档中心有一篇讲得更细,请参考。


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文件中的一些信息.一般也没什么用.

posted @ 2009-04-24 17:19 Pencil.C++ 阅读(128) | 评论 (0)编辑 收藏

Thinking in C++ C++编程思想 C++入门书籍,不多介绍
http://www.laixp.cn/soft/sort01/sort02/down-12215.html

C++ Primer 3 th 也是一本入门书籍,很经典,初学者多看
http://www.laixp.cn/soft/sort01/sort02/down-11801.html
http://www.laixp.cn/soft/sort01/sort02/down-11800.html

深入C++对象模型 这本书主要讲解C++一些底层设计原理,比如说一些虚函数表,多态的实现原理、方法,要想再C++上有深入了解,这本书是一本必看书,推荐
http://www.laixp.cn/soft/sort01/sort02/down-12267.html

C++设计模式 设计模式,很有名的一般书,四人帮写的。现代软件讲究的是可复用,内聚解耦,这本书提供了多种模式供我们选择,是C++必看的一本书
http://www.laixp.cn/soft/sort01/sort02/down-12331.html

大规模程序设计 大家知道C++程序编译时比较慢的,笔者开发的一个项目,改动一些基础类的话,重新编译要花掉几个小时,这个人工成本是非常大的。那么这
本讲解的就是如何减少对其他文件的依赖,怎么实现接口与实现的分离,强烈推荐看的一本书
http://www.laixp.cn/soft/sort01/sort02/down-11229.html

Effevtive_STL 本书是对STL的一些原理和一些使用STL过程中经常放的一些错误进行分析,讲解,很不错的一本书,推荐看
http://www.laixp.cn/soft/sort01/sort02/down-11235.html

More_Effective_STL 这本书是对Effevtive_STL的补充,不多说
http://www.laixp.cn/soft/sort01/sort02/down-11244.html

还有几本,我就不多作介绍了,大家可以自己去了解
Exceptional C++ 中文 http://www.laixp.cn/soft/sort01/sort02/down-12013.html
Accelerated C++ http://www.laixp.cn/soft/sort01/sort02/down-12004.html

高质量C++编程指南 这本书做为很多公司的指导文章,我就不多说啦
http://www.laixp.cn/soft/sort01/sort02/down-11216.html

改善既有代码的设计 现在软件越来越看重复用的,经常要对自己编写的代码优化优化再优化,要重构
http://www.laixp.cn/soft/sort01/sort02/down-11214.html

stl源码剖析 学会一个东西最好的方法就是看他源码,这本书就是讲解STL源码的,看过之后相信你对STL有一个大概的了解
http://www.laixp.cn/soft/sort01/sort02/down-11221.html

数据结构算法与应用-C++语言描述 C++算法的基础教程
http://www.laixp.cn/soft/sort01/sort02/down-11205.html

C++编程惯用法——高级程序员常用方法和技巧 看书名就知道啦
http://www.laixp.cn/soft/sort01/sort02/down-11695.html

超越c++标准库——boost程序库导论 boost将成为下一代C++标准库的一部分,现在很多公司都使用这个,功能确实非常强大啊,笔者就非常喜欢结合泛型算法和boost库,用几行优美的代码代替繁琐的代码编程
http://www.laixp.cn/soft/sort01/sort02/down-11628.html

C++必知必会 本书描述了C++编程和设计中必须掌握但却不易掌握的主题,这些主题涉及的范围较广,包括指针操作模板、泛型编程、异常处理、内存分配、设计模式等。
http://www.laixp.cn/soft/sort01/sort02/down-11807.html

还有几本书,我就不多作介绍了,大家有兴趣可以自己去了解
C++多范型设计 http://www.laixp.cn/soft/sort01/sort02/down-12209.html
C++代码设计与重用 http://www.laixp.cn/soft/sort01/sort02/down-12207.html
C++ 设计新思维:范型编程与设计模式之应用 http://www.laixp.cn/soft/sort01/sort02/down-12198.html 这本书我第一次看的时候,那个模板的运用让我很震惊
C++高级程序设计 - 徐惠民 http://www.laixp.cn/soft/sort01/sort02/down-12219.html
posted @ 2009-04-24 16:27 Pencil.C++ 阅读(236) | 评论 (2)编辑 收藏

     摘要: static用来控制变量的存储方式和可见性。
函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此函数控制)。   阅读全文
posted @ 2009-04-24 16:19 Pencil.C++ 阅读(269) | 评论 (0)编辑 收藏

仅列出标题
共4页: 1 2 3 4