??xml version="1.0" encoding="utf-8" standalone="yes"?> 中国|管联盟 bitsCN.Com bitsCN_com 中国|管联盟 11.如何q净的删除一个类 中国.|管联盟 bitsCN_com 13.取得源程序预处理后的l果Q?br>在Studio里,可以?>PROJECT->SETTINGS->C/C++->Project Options中,在最后加?/P /EPq两个编译开兛_可做?只进行预处理".可以了。编译以后就可以在源E序目录中发?#8220;文g?I ”的文本文件。这是预处理后的结果?br>Q注意注Q区分大定Q请用大?PQ?中国.|管联盟 www_bitscn_com bitsCN_com 16.手工~译U资源成dllQ?br>Rc.exe /v data.rc bitsCN.Com 利用File菜单下生成新目中的Custom AppWizard Q选择 An existing Project ,然后选择现有目的项目文件名Q?.dspQFinish,~译后就生成一个可以生成与现有目相同但可以重新取名的目的AppWizard。你可以象用MFC AppWizard一L它。如果不想用了,可以在VC 安装目录下Common\MSDev98\Template目录中删除该Wizard?awx?.pdb文g? bitsCN.Com 18:如果x整个目拯到Y盘,那些文g可以删掉? bitsCN.Com bitsCN.nET中国|管博客
2.查看一个宏Q或变量、函敎ͼ的宏定义
把光标移动到你想知道的一个宏上,比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Defition Of …),如果没有建立Browse filesQ会出现提示对话框,定Q然后就会蟩到定义那些东西的地方?br>相当可喜的是Q它也可以看到Microsoft定义的系l宏Q非常good.
3.格式化一Dؕ七八p的源代?br>选中那段源代码,按ATL+F8?/p>
4.在编辑状态下发现成员变量或函C能显C?br>删除该项目扩展名?ncb文gQ重新打开该项目?BBS.bitsCN.com|管论坛
5.如何整理ClassView视图中大量的c?br>可以在classview 视图中右键新建文件夹Qnew folderQ,再把h相近性质的类拖到对应的文件夹中,使整个视囄上去清晰明了. www_bitscn_com
6.定位预处理指?br>在源文g中定位光标到对称?if, #endif,使用Ctrl+K.
7.如何dpȝ中Lib到当前项?br>在Project | Settings | Link | Object/library modulesQ输入Lib名称Q不同的Lib之间用空格格开. BBS.bitsCN.com|管论坛
8.如何dpȝ中的头文?.h)到当前项?
#include <FileName.h>,告诉~译到VCpȝ目录L;使用#include "FileName.h"Q告诉编译在当前
目录? bbs.bitsCN.com
9.如何在Studio使用汇编调试
在WorkBench的Debugger状态下按CTRL+F7. 中国.|管联盟
10.怎样处理ClassZiard找不到的pȝ消息
如果要在ClassWizard中处理WM_NCHITTEST{系l消息,请在ClassWizard中Class Info中?br>Message filter改ؓWindow有?
先从Workspace中的FileView中删除对应的.h?cpp文g,再关闭项目,从实际的文g夹中删除对应?h?cpp文g?clw文g?/p>
12.在Studio中快速切换两个文?br>有时Q我们需要在最q用的两个文g中快速切换,换Ctrl+F6。这在两个文件不总的时候就有用?
14.在Debug模式中查看WINAPI调用后的q回|
很简单,且实用:在watch中加入@hr,err。在CSDN的文档中心有一讲得更l,请参考?/p>
15.产生指定源程序文件的汇编代码Q?br>从IDE菜单的Project->Setting打开目讄Q按如下文g做:
1.先在左边选择指定文gQ可以多选?br>2. 在右边的C++属性页中,在category中选择List Files,接着在下面的List Files Type中选择Assembly and source codeQ或选择其它Q,最后在List File Name中输入在个C/C++源文件生的相应的汇~代码的文g?br>3.~译整个工程?/p>
Cvtres.exe /machine:ix86 data.res
Link /SUBSYSTEM:WINDOWS /DLL /NOENTRY data.res ;~译成DLL文g
q种方式创徏的DLL是最的Q比起你用Win 32 Dynamic Libray{生的更小?/p>
17Q怎样快速生成一个与现有目除了目名外完全相同的新目? 中国|管论坛
除了目文g夹中debug文g夹可以删除外Q?ncb,.clw,.opt {文件也可以删除Q这些文件Rebuilt all后可以重新生成?
附:VC目文g说明
.dsp 目参数配置文gQ这个文件太重要Q重点保护对象?
.dsw 工作区文Ӟ重要性一般,因ؓ它信息不我,Ҏ恢复?br>以下文g在项目中是可丢弃的,有些文g删除后,VC会自动生成的?br>.clw ClassWizard信息文g,实际上是INI文g的格?有兴可以研I一?有时候ClassWizard出问?手工修改CLW文g可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重?
.ncb 无编译浏览文?no compile browser)。当自动完成功能出问题时可以删除此文件。build后会自动生成?br>.opt 工程关于开发环境的参数文g。如工具条位|等信息Q?可丢?
.aps (AppStudio File),资源辅助文g,二进制格?一般不用去他.
.plg 是编译信息文?~译时的error和warning信息文gQ实际上是一个html文gQ?一般用处不?在Tools->Options里面有个选项可以控制q个文g的生?
.hpj (Help Project)是生成帮助文件的工程,用microsfot Help Compiler可以处理.
.mdp (Microsoft DevStudio Project)是旧版本的项目文?如果要打开此文件的?会提CZ是否转换成新的DSP格式.
.bsc 是用于浏览项目信息的,如果用Source Brower的话必Lq个文g.如果不用q个功能的话,可以在Project Options里面LGenerate Browse Info File,可以加快~译速度. 中国|管联盟
.map 是执行文件的映像信息U录文g,除非对系l底层非常熟?q个文g一般用不着.
.pch (Pre-Compiled File)是预~译文g,可以加快~译速度,但是文g非常?
.pdb (Program Database)记录了程序有关的一些数据和调试信息,在调试的时候可能有?
.exp 只有在编译DLL的时候才会生?记录了DLL文g中的一些信?一般也没什么用. bbs.bitsCN.com
]]>
]]>
Windows ~程中用到的变量Q还包括宏)的命名规则匈牙利命名法,q种命名技术是׃位能q的 Microsoft E序员查斯·西蒙?Charles Simonyi) 提出的?nbsp;
匈牙利命名法通过在变量名前面加上相应的小写字母的W号标识作ؓ前缀Q标识出变量的作用域Q类型等。这些符号可以多个同时用,序是先m_Q成员变量)Q再指针Q再单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符l尾的字W串的长指针成员变量?nbsp;
匈牙利命名法关键是:标识W的名字以一个或者多个小写字母开头作为前~Q前~之后的是首字母大写的一个单词或多个单词l合Q该单词要指明变量的用途?br>
匈牙利命名法中常用的写字母的前~Q?br>
前 ~ cR ?nbsp;
a 数组 (Array)
b 布尔?nbsp;(Boolean)
by 字节 (Byte)
c 有符号字W?nbsp;(Char)
cb 无符号字W?nbsp;(Char ByteQ没有多h?
cr 颜色参考?nbsp;(ColorRef)
cx,cy 坐标差(长度 ShortIntQ?nbsp;
dw Double Word
fn 函数
h HandleQ句柄)
i 整型
l 长整?nbsp;(Long Int)
lp Long Pointer
m_ cȝ成员
n 短整?nbsp;(Short Int)
np Near Pointer
p Pointer
s 字符串型
sz 以null做结字符串型 (String with Zero End)
w Word
二、骆驼命名法:
骆驼式命令法Q正如它的名U所表示的那P是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函敎ͼ
printEmployeePaychecks()Q?br>
print_employee_paychecks()Q?br>
W一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记Q第二个函数名用了下划U法----函数名中的每一个逻辑断点都有一个下划线来标记?br>
骆驼式命名法q年来越来越行了,在许多新的函数库和Microsoft
Windowsq样的环境中Q它使用得当相多。另一斚wQ下划线法是c出现后开始流行v来的Q在许多旧的E序和UNIXq样的环境中Q它的用非常普遍?br>
三、帕斯卡QpascalQ命名法Q?br>
与骆驼命名法cM。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大?br>
如:public void
DisplayInfo();
string UserName;
二者都是采用了帕斯卡命名法.
在C#中,以帕斯卡命名法和骆驼命名法居多?br>
单说
MyData 是一個帕斯卡命名的示?nbsp;
而myData是一個骆驼命名法,它第一個單詞的W一個字母小?後面的單詞首字母大寫,看v來像一個骆?nbsp;
而iMyData是一個匈牙利命名?它的寫的i說明了它的型?後面的和帕斯卡命名相?指示了該變量的用?
某些人经常说某某命名法被淘汰?其实适合自己的才是最好的....~
]]>
在C++中,库的C是非帔R的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过
设计更多的语法的a论。现实中QC++的库门类J多Q解决的问题也是极其q泛Q库从轻量到重量
的都有。不都是让人眼界大开Q亦或是望而生叹的思维C。由于库的数量非常庞大,而且限于W?/p>
水^Q其中很多ƈ不了解。所以文中所提的一些库都是比较著名的大型库?/p>
标准?/p>
标准库中提供了C++E序的基本设施。虽然C++标准库随着C++标准折腾了许多年Q直到标准的出台才正
式定型,但是在标准库的实C却很令hƣ慰得看到多U实玎ͼq且已被实践证明为有工业U别强度?/p>
佳作?/p>
1?nbsp; Dinkumware C++ Library
P.J. Plauger~写的高品质的标准库。P.J. Plauger博士是Dr. Dobb'sE序设计杰出奖的获得者。其~?/p>
写的库长期被Microsoft采用Qƈ且最qBorland也取得了其OEM的licenseQ在其C/C++的品中采用
Dinkumware的库?/p>
2?nbsp; RogueWave Standard C++ Library
参考站点:
w.roguewave.com/
q个库在Borland C++ Builder的早期版本中曄被采用,后来被其他的库给替换了。笔者不推荐使用
?/p>
3、SGI STL
参考站点:
w.roguewave.com/
SGI公司的C++标准模版库?/p>
4、STLport
SGI STL库的跨^台可UL版本?/p>
准标准库——Boost
Boost库是一个经q千锤百点{可UL、提供源代码的C++库,作ؓ标准库的后备Q是C++标准化进E的
发动Z一?Boost库由C++标准委员会库工作l成员发P在C++C中媄响甚大,其成员已q?000?/p>
?Boost库ؓ我们带来了最新、最酗最实用的技术,是不折不扣的“?#8221;标准库?/p>
Boost中比较有名气的有q么几个库:
Regex
正则表达式库
Spirit
LL parser frameworkQ用C++代码直接表达EBNF
Graph
囄件和法
Lambda
在调用的地方定义短小匿名的函数对象,很实用的functional功能
concept check
查泛型编E中的concept
Mpl
用模板实现的元编E框?/p>
Thread
可移植的C++多线E库
Python
把C++cd函数映射到Python之中
Pool
内存池管?/p>
smart_ptr
5个智能指针,学习指针必读Q一份不错的参考是来自CUJ的文章:
Smart Pointers in Boost,哦,q篇文章可以查到QCUJ是提供在U浏览的。中文版见笔者在《Dr.
Dobb's Journal软g研发杂志》第7辑上的译文?/p>
BoostM来说是实用h值很高,质量很高的库。ƈ且由于其对跨q_的强调,Ҏ准C++的强调,是编
写^台无养ICC++的开发者必备的工具。但是Boost中也有很多是实验性质的东西,在实际的开发中
实用需要}慎。ƈ且很多Boost中的库功能堪U对语言功能的扩展,其构造用精巧的手法Q不要N?/p>
的花Ҏ间研诅RBoost另外一面,比如Graphq样的库则是h工业强度Q结构良好,非常值得研读?/p>
_֓代码Qƈ且也可以攑ֿ的在产品代码中多多利用?/p>
参考站点:Q国内镜像:
Q?/p>
GUI 在众多C++的库中,GUI部分的库是比较J荣Q也比较引h注目的。在实际开发中QGUI库的选择也是 非常重要的一件事情,下面我们lD一下可选择的GUI库,各自的特点以及相兛_L支持?/p>
1?nbsp; MFC 大名鼎鼎的微软基cdQMicrosoft Foundation ClassQ。大凡学qVC++的h都应该知道这个库。虽 然从技术角度讲QMFC是不大漂亮的Q但是它构徏于Windows API 之上Q能够ɽE序员的工作更容?~?/p>
E效率高Q减了大量在徏?Windows E序时必ȝ写的代码Q同时它q提供了所有一?C++ ~程?/p>
优点Q例如承和装。MFC ~写的程序在各个版本的Windows操作pȝ上是可移植的Q例如,? Windows 3.1下编写的代码可以很容易地UL?Windows NT ?Windows 95 上。但是在最q发展以?/p>
官方支持上日渐势微?/p>
2?nbsp; QT Qt是Trolltech公司的一个多q_的C++囑Ş用户界面应用E序框架。它提供l应用程序开发者徏立艺?/p>
U的囑Ş用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,q且允许真正地组件编E。自?/p>
1996q早些时候,Qtq入商业领域Q它已经成ؓ全世界范围内数千U成功的应用E序的基。Qt也是?/p>
行的Linux桌面环境KDE 的基Q同时它q支持Windows、Macintosh、Unix/X11{多U^台?/p>
3、WxWindows 跨^台的GUI库。因为其cdơ极像MFCQ所以有文章介绍从MFC到WxWindows的代码移植以实现跨^台的 功能。通过多年的开发也是一个日完善的GUI库,支持同样不弱于前面两个库。ƈ且是完全开放源?/p>
码的。新q的C++ Builder X的GUI设计器就是基于这个库的?/p>
4、Fox 开放源代码的GUI库。作者从自己亲n的开发经验中得出了一个理想的GUI库应该是什么样子的感受出发 Q从而开始了对这个库的开发。有兴趣的可以尝试一下?/p>
5?nbsp; WTL ZATL的一个库。因Z用了大量ATL的轻量手法Q模板等技术,在代码尺寸,以及速度优化斚w?/p>
得非常到位。主要面向的使用体是开发COM轻量U供|络下蝲的可视化控g的开发者?/p>
6?nbsp; GTK 参考网站:http://gtkmm.sourceforge.net/ GTK是一个大名鼎鼎的C的开源GUI库。在Linux世界中有Gnomeq样的杀手应用。而GTK是q个库的C++ 装版本?/p>
ACE 参考网站: C++库的代表Q超重量U的|络通信开发框架。ACE自适配通信环境QAdaptive Communication EnvironmentQ是可以自由使用、开放源代码的面向对象框Ӟ在其中实C许多用于q发通信软g?/p>
核心模式。ACE提供了一l丰富的可复用C++包装外观QWrapper FacadeQ和框架lgQ可跨越多种q_ 完成通用的通信软gdQ其中包括:事g多\分离和事件处理器分派、信号处理、服务初始化、进E?/p>
间通信、共享内存管理、消息\由、分布式服务动态(重)配置、ƈ发执行和同步Q等{?/p>
StreamModule 设计用于化编写分布式E序的库。尝试着使得~写处理异步行ؓ的程序更ҎQ而不是用同步的外?/p>
包v异步的本质?/p>
SimpleSocket 参考网站:http://home.hetnet.nl/~lcbokkers/simsock.htm q个cd让编写基于socket的客?服务器程序更加容易?/p>
A Stream Socket API for C++ 参考网站: 又一个对Socket的封装库?/p>
XML Xerces 参考网站:http://xml.apache.org/xerces-c/ Xerces-C++ 是一个非常健壮的XML解析器,它提供了验证Q以及SAX和DOM API。XML验证在文档类型定 ?Document Type DefinitionQDTD)斚w有很好的支持Qƈ且在2001q?2月增加了支持W3C XML Schema 的基本完整的开放标准?/p>
XMLBooster q个库通过产生特制的parser的办法极大的提高了XML解析的速度Qƈ且能够生相应的GUIE序来修?/p>
q个parser。在DOM和SAX两大LXML解析办法之外提供了另外一个可行的解决Ҏ?/p>
Pull Parser 参考网站: xpp/ q个库采用pullҎ的parser。在每个SAX的parser底层都有一个pull的parserQ这个xpp?/p>
q层暴露出来直接l大家用。在要充分考虑速度的时候值得试?/p>
Xalan 参考网站:http://xml.apache.org/xalan-c/ Xalan是一个用于把XML文档转换为HTMLQ纯文本或者其他XMLcd文档的XSLT处理器?/p>
CMarkup q是一U用EDOM的XML解析器。在很多思\上面非常灉|实用。值得大家在DOM和SAX之外?/p>
求一点灵感?/p>
libxml++ http://libxmlplusplus.sourceforge.net/ libxml++是对著名的libxml XML解析器的C++装版本 U学计算 Blitz++ Blitz++ 是一个高效率的数D函数库Q它的设计目的是希望建立一套既具像C++ 一h便,同时?/p>
比Fortran速度更快的数D环境。通常Q用C++所写出的数值程序,?Fortran?0%左右Q因?/p>
Blitz++正是要改掉这个缺炏V方法是利用C++的template技术,E序执行甚至可以比Fortran更快?/p>
Blitz++目前仍在发展中,对于常见的SVDQFFTsQQMRES{常见的U性代数方法ƈ不提供,不过使用?/p>
可以很容易地利用Blitz++所提供的函数来构徏?/p>
POOMA 参考网站: POOMA是一个免费的高性能的C++库,用于处理q行式科学计。POOMA的面向对象设计方便了快速的E?/p>
序开发,对ƈ行机器进行了优化以达到最高的效率Q方便在工业和研I环境中使用?/p>
MTL Matrix Template Library(MTL)是一个高性能的泛型组件库Q提供了各种格式矩阵的大量线性代数方?/p>
的功能。在某些应用使用高性能~译器的情况下,比如Intel的编译器Q从产生的汇~代码可以看出其 与手写几乎没有两L效能?/p>
CGAL 参考网站:www.cgal.org Computational Geometry Algorithms Library的目的是把在计算几何斚w的大部分重要的解x案和 Ҏ以C++库的形式提供l工业和学术界的用户?/p>
游戏开?/p>
Audio/Video 3D C++ Programming Library 参考网站: v/ AV3D是一个跨q_Q高性能的C++库。主要的Ҏ是提供3D囑ŞQ声效支持(SB,以及S3MQ,控制接口 Q键盘,鼠标和遥感)QXMS?/p>
KlayGE 参考网站:http://home.g365.net/enginedev/ 国内游戏开发高手自qC++开发的游戏引擎。KlayGE是一个开放源代码、跨q_的游戏引擎,q?/p>
Python作脚本语a。KlayGE在LGPL协议下发行。感谢龚敏敏先生Z国游戏开发事业所做出的A献?/p>
OGRE OGREQ面向对象的囑Ş渲染引擎Q是用C++开发的Q用灵zȝ面向对象3D引擎。它的目的是让开发?/p>
能更方便和直接地开发基?Dg讑֤的应用程序或游戏。引擎中的类库对更底层的pȝ库(如: Direct3D和OpenGLQ的全部使用l节q行了抽象,q提供了Z现实世界对象的接口和其它cR?/p>
U程 C++ Threads 参考网站:http://threads.sourceforge.net/ q个库的目标是给E序员提供易于用的c,q些c被l承以提供在Linux环境中很隄到的大量的线 E方面的功能?/p>
ZThreads 参考网站:http://zthread.sourceforge.net/ 一个先q的面向对象Q跨q_的C++U程和同步库?/p>
序列?/p>
s11n 参考网站:http://s11n.net/ 一个基于STL的C++库,用于序列化PODQSTL容器以及用户定义的类型?/p>
Simple XML Persistence Library 参考网站:http://sxp.sourceforge.net/ q是一个把对象序列化ؓXML的轻量的C++库?/p>
字符?/p>
C++ Str Library 操作字符串和字符的库Q支持Windows和支持gcc的多U^台。提供高度优化的代码Qƈ且支持多U程?/p>
境和UnicodeQ同时还有正则表辑ּ的支持?/p>
Common Text Transformation Library 参考网站:http://cttl.sourceforge.net/ q是一个解析和修改STL字符串的库。CTTL substringcd以用来比较,插入Q替换以及用EBNF的语?/p>
q行解析?/p>
GRETA 参考网站:http://research.microsoft.com/projects/greta/ q是由微软研I的研Ih员开发的处理正则表达式的库。在型匚w的情况下有非怼U的表现?/p>
l合 P::Classes 参考网站:http://pclasses.com/ 一个高度可UL的C++应用E序框架。当前关注类型和U程安全的signal/slot机制Qi/opȝ包括Z 插g的网l协议透明的i/o架构Q基于插件的应用E序消息日志框架Q访问sql数据库的cȝ{?/p>
ACDK - Artefaktur Component Development Kit
|络通信
转自 http://blog.csdn.net/wqf363/archive/2006/11/22/1406251.aspx
]]>
ҰĻþ|
ĻѾþ|
˾þþƷӰ|
þAVۺϺɫ|
þ99ƷþֻоƷ|
Ʒþһ
|
Ʒþþþþ99|
ŷ龫Ʒþþþþþþžž
|
һþaþþƷۺ㽶|
99þùں;Ʒ1ӳ|
Ʒþ㽶߿ۿ|
Ʒŷһþþ
|
˾þþƷһ|
þþƷƷ|
AVþþƷ|
99þùۿ2024
|
ƷþþĻ|
һɫþۺ|
þþƷۺɫ|
ŷ˾þþƷ|
һɫþ88ձȡۺ|
ƷWWWþþþþ|
þþƷ91þۺ鶹|
ɫƾþþþþþۺ|
ӰԺ˾þ|
þsmȤ|
þֻоƷƵ99|
㽶þþƷ|
ŷAŷaþ|
Ʒþþþ66|
69Ʒþþþùۿ|
պݺݾþ͵͵ɫۺ
|
Ļþ2020
|
ƷþþþùA|
þ99Ʒ99þ|
ƷŮþþþ99|
ŷþþþƷ|
ŷƷһþ|
þ99Ʒ|
þþƷɭ|
þþ|