﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Anywhere-随笔分类-C++/C编程</title><link>http://www.cppblog.com/Aireed/category/11001.html</link><description>水中苇</description><language>zh-cn</language><lastBuildDate>Fri, 28 Aug 2009 08:55:46 GMT</lastBuildDate><pubDate>Fri, 28 Aug 2009 08:55:46 GMT</pubDate><ttl>60</ttl><item><title>vb的编译开关参数设置</title><link>http://www.cppblog.com/Aireed/archive/2009/08/27/94528.html</link><dc:creator>三水寿</dc:creator><author>三水寿</author><pubDate>Thu, 27 Aug 2009 01:33:00 GMT</pubDate><guid>http://www.cppblog.com/Aireed/archive/2009/08/27/94528.html</guid><wfw:comment>http://www.cppblog.com/Aireed/comments/94528.html</wfw:comment><comments>http://www.cppblog.com/Aireed/archive/2009/08/27/94528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Aireed/comments/commentRss/94528.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Aireed/services/trackbacks/94528.html</trackback:ping><description><![CDATA[<h1 class=postTitle><a class=postTitle2 id=ctl04_TitleUrl href="http://www.cnblogs.com/Kane_zzt/archive/2009/02/04/1383797.html"><u><font color=#0000ff>VC的编译开关参数大全</font></u></a> </h1>
<div class=clear></div>
<div class=postBody>
<p><span style="FONT-SIZE: 12pt">可以通过Settings --&gt;Project--&gt;C/C++--&gt;Customize来设置这个编译开关。</span></p>
<p><span style="FONT-SIZE: 12pt"><br>VC 编译命令开关<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>/C:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在预处理输出中保留注释语句<br>/c:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只编译，不连接，相当于在"Build"菜单下选择了"Compile"<br>/D:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 定义常量和宏，与源程序里的#define 有相同效果<br>/E:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;预处理C、C＋＋源文件，将源文件中所有的预编译指令及宏展开，将注释去掉，然后将预处理器的输出拷贝至标准输出设备输出，并且在每个文件的开头和末尾加入#line<br>/EH:&nbsp;&nbsp;&nbsp; 指定编译器用何种异常处理模型<br>/EP:&nbsp;&nbsp;&nbsp;&nbsp; 同/E,只是去掉了#line<br>/F:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置程序的堆栈大小<br>/FA:&nbsp;&nbsp;&nbsp;&nbsp; 设置生成何种列表文件（汇编、汇编与机器码、汇编与源码、汇编与机器码以及源码）<br>/Fa:&nbsp;&nbsp;&nbsp;&nbsp; 指定用/FA设置的列表文件的存放路径及（或）文件名<br>/FD:&nbsp;&nbsp;&nbsp;&nbsp; 生成文件的相互依赖信息<br>/Fd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置程序数据库文件（PDB）的存放路径及（或）文件名<br>/Fe:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置最终可执行文件的存放路径及（或）文件名<br>/FI:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;预处理指定的头文件，与源文件中的＃include有相同效果<br>/Fm:&nbsp;&nbsp;&nbsp;&nbsp; 创建map文件<br>/Fo:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设置编译后Obj文件的存放路径及（或）文件名<br>/Fp:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置预编译文件（pch）的存放路径及（或）文件名<br>/FR:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 生成浏览信息（sbr）文件<br>/Fr:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 同/FR,不同之处在于/Fr不包括局部变量信息<br>/G3:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为80386处理器优化代码生成<br>/G4:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为80486处理器优化代码生成<br>/G5:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为Pentium处理器优化代码生成<br>/G6:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为Pentium Pro处理器优化代码生成<br>/GA:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为Windows应用程序作优化<br>/GB:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为Pentium处理器优化代码生成，使用80386、80486、Pentium、Pentium Pro的混合指令集，是代码生成的默认选项（程序属性选项中Processor对应Blend）<br>/GD:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 为Windows动态库（dll）作优化，此开关在VC6中没有实现<br>/Gd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定使用__cdecl的函数调用规则<br>/Ge:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 激活堆栈检测<br>/GF:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;消除程序中的重复的字符串，并将她放到只读的缓冲区中<br>/Gf:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 消除程序中的重复字符串<br>/Gh:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在每个函数的开头调用钩子（hook）函数--penter<br>/Gi:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 允许渐进编译<br>/Gm:&nbsp;&nbsp;&nbsp;&nbsp; 允许最小化rebuild<br>/GR:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 允许运行时类型信息(Run-Time Type Infomation)<br>/Gr:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定使用__fastcall的函数调用规则<br>/Gs:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;控制堆栈检测所用内存大小<br>/GT:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 支持用__declspec(thread)分配的数据的fier-safety<br>/GX:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;允许同步异常处理，与/EHsc开关等价<br>/Gy:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 允许编译器将每一个函数封装成COMDATs的形式，供连接器调用<br>/GZ:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 允许在Debug build 的时候捕捉Release build的错误<br>/Gz:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定使用__stdcall的函数调用规则<br>/H:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 限制外部名字的长度<br>/HELP:&nbsp;&nbsp;&nbsp; 列出编译器的所有的命令开关<br>/I:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指定头文件的搜索路径<br>/J:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将char的缺省类型从signed char改成unsigned char<br>/LD:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 创建一个动态连接库<br>/LDd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 创建一个Debug版本的动态链接库<br>/link:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将指定的选项传给连接器<br>/MD:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择多线程、DLL版本的C Run－Time库<br>/MDd:&nbsp;&nbsp;&nbsp;&nbsp; 选择多线程、DLL、Debug版本的C Run－Time库<br>/ML:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择单线程版本的C Run—Time库<br>/MLd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;选择单线程、Debug版本的C Run—Time库<br>/MT:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 选择多线程版本的C Run-Time库<br>/MTd:&nbsp;&nbsp;&nbsp;&nbsp; 选择多线程、Debug版本的C Run—Time库<br>/nologo: 不显示程序的版权信息<br>/O1:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;优化使产生的可执行代码最小<br>/O2:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 优化使产生的可执行代码速度最快<br>/Oa:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 指示编译器程序里没有使用别名，可以提高程序的执行速度<br>/Ob:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 控制内联（inline）函数的展开<br>/Od:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;禁止代码优化<br>/Og:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用全局优化<br>/Oi:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用内部函数去代替程序里的函数调用，可以使程序运行的更快，但程序的长度变长<br>/Op:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 提高浮点数比较运算的一致性<br>/Os:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;产生尽可能小的可执行代码<br>/Ot:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 产生尽可能块的可执行代码<br>/Ow:&nbsp;&nbsp;&nbsp;&nbsp; 指示编译器在函数体内部没有使用别名<br>/Ox:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 组合了几个优化开关，达到尽可能多的优化<br>/Oy:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 阻止调用堆栈里创建帧指针<br>/Q1f:&nbsp;&nbsp;&nbsp;&nbsp; 对核心级的设备驱动程序生成单独的调试信息<br>/QI0f:&nbsp;&nbsp;&nbsp; 对Pentium 0x0f错误指令作修正<br>/Qifdiv:&nbsp; 对Pentium FDIV错误指令作修正<br>/P:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将预处理输出写到指定文件里，文件的后缀名为I<br>/TC:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将命令行上的所有文件都当作C源程序编译，不管后缀名是否为.c<br>/Tc:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将指定的文件当作C源程序编译，不管后缀名是否为.c<br>/TP:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将命令行上的所有文件都当作C＋＋源程序编译，不管后缀名是否为.cpp<br>/Tp:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将指定文件当作C＋＋源程序编译，不管后缀名是否为.cpp<br>/U:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 去掉一个指定的前面定义的符号或常量<br>/u:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 去掉所有前面定义的符号或常量<br>/V:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在编译的obj文件里嵌入版本号<br>/vd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 禁止/允许构造函数置换<br>/vmb:&nbsp;&nbsp; 选择指针的表示方法，使用这个开关，在声明指向某个类的成员的指针之前，必须先定义这个类<br>/vmg:&nbsp;&nbsp; 选择指针的表示方法，使用这个开关，在声明指向某个类的成员的指针之前，不必先定义这个类，但要首先指定这个类是使用何种继承方法<br>/vmm:&nbsp;&nbsp;设置指针的表示方法为Single Inheritance and Multiple Inheritance<br>/vms:&nbsp;&nbsp; 设置指针的表示方法为Single Inheritance<br>/vmv:&nbsp;&nbsp; 设置指针的表示方法为Any class<br>/W:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置警告等级<br>/w:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 禁止所有警告<br>/X:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;阻止编译器搜索标准的include 目录<br>/Yc:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;创建预编译头文件（pch）<br>/Yd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在所有的obj文件里写上完全的调试信息<br>/Yu:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在build过程中使用指定的预编译头文件<br>/YX:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;指示编译器若预编译头文件存在，则使用它，若不存在，则创建一个<br>/Z7:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;生成MSC7.0兼容的调试信息<br>/Za:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;禁止语言扩展(Microsoft Extensions to C)<br>/Zd:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;调试信息只包含外部和全局的符号信息以及行号信息<br>/Ze:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;允许语言扩展(Microsoft Extensions to C)<br>/Zg:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为源文件里面定义的每个函数生成函数原型<br>/ZI:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;生成程序库文件（Pdb）并支持Edit and Continue调试特性<br>/Zi:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;生成程序库文件（pdb），包含类型信息和符号调试信息<br>/ZL:&nbsp;&nbsp;&nbsp;&nbsp; 从obj文件里去掉缺省的库文件名<br>/Zm:&nbsp;&nbsp;&nbsp; 设置编译器的内存分配xianzhi<br>/Zn:&nbsp;&nbsp;&nbsp;&nbsp; 禁止浏览信息文件里面的封装<br>/Zp:&nbsp;&nbsp;&nbsp;&nbsp; 设置结构成员在内存里面的封装格式<br>/Zs:&nbsp;&nbsp;&nbsp;&nbsp; 快速检查语法错误<br>－－－－－－－－－－－－－－－－－－－－－－－－－－<br>vc所支持的文件类型</span></p>
<p><span style="FONT-SIZE: 12pt">DSW:&nbsp; 全称是Developer Studio Workspace，最高级别的配置文件，记录了整个工作空间的配置信息，她是一个纯文本的文件，在vc创建新项目的时候自动生成<br>DSP:&nbsp;&nbsp; 全称是Developer Studio Project，也是一个配置文件，不过她记录的是一个项目的所有配置信息，纯文本文件<br>OPT： 与DSW、DSP配合使用的配置文件，她记录了与机器硬件有关的信息，同一个项目在不同的机器上的opt文件内容是不同的<br>CLW：记录了跟ClassWizard相关的信息，如果丢失了clw文件，那么在Class View面板里就没有类信息<br>PLG： 实际上是一个超文本文件，可以用Internet Explorer打开，记录了Build的过程，是一个日志型文件<br>RC：&nbsp;&nbsp; 资源描述文件，记录了所有的资源信息，在资源编辑器里作的修改，实际上都是对RC文件的修改<br>RC2： 附加的资源描述文件，不能直接资源编辑器修改，只能手工添加，可以用来添加额外的资源<br>RES： 经过资源编辑器编译之后的资源文件，以二进制方式存放<br>SBR： 编译器生成的浏览信息文件，在代码导航的时候非常有用，她需要在编译时指定/FR或者/Fr开关<br>BSC： BSCMAKE.EXE将所有的SBR文件作为输入，经过处理之后输出一个BSC文件，在代码导航的时候实际用到的是BSC文件<br>ILK： 当选定渐增型编译连接时，连接器自动生成ILK文件，记录连接信息<br>PDB： 全称是Program DataBase，即程序数据库文件，用来记录调试信息，是一个相当重要的文件，没有他，程序无法正常调试<br>LIB：&nbsp; 如果项目输出是Dll的话，一般会输出一个跟项目同名的Lib文件，记录输出的函数信息<br>EXP： 同Lib，是跟Dll一起生成的输出文件<br>PCH： 全称是PreCompiled Header，就是预先编译好的头文件，在编译时指定/Yu开关时编译器自动生成&nbsp;</span></p>
</div>
<img src ="http://www.cppblog.com/Aireed/aggbug/94528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Aireed/" target="_blank">三水寿</a> 2009-08-27 09:33 <a href="http://www.cppblog.com/Aireed/archive/2009/08/27/94528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>计算程序的运行时间</title><link>http://www.cppblog.com/Aireed/archive/2009/08/20/93886.html</link><dc:creator>三水寿</dc:creator><author>三水寿</author><pubDate>Thu, 20 Aug 2009 03:10:00 GMT</pubDate><guid>http://www.cppblog.com/Aireed/archive/2009/08/20/93886.html</guid><wfw:comment>http://www.cppblog.com/Aireed/comments/93886.html</wfw:comment><comments>http://www.cppblog.com/Aireed/archive/2009/08/20/93886.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Aireed/comments/commentRss/93886.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Aireed/services/trackbacks/93886.html</trackback:ping><description><![CDATA[<p>void main()<br>{<br>clock_t begin,end;&nbsp; //clock_t为long类型.<br>int i=0;<br>begin=clock();&nbsp;&nbsp;<br>&nbsp;while(i++&lt;10000000);<br>end=clock();<br><br>double elap=(double)(end-begin)/CLOCKS_PER_SEC;<br><br><br>}<br>在作者的机器上打印出的时间是0.031.</p>
<img src ="http://www.cppblog.com/Aireed/aggbug/93886.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Aireed/" target="_blank">三水寿</a> 2009-08-20 11:10 <a href="http://www.cppblog.com/Aireed/archive/2009/08/20/93886.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设计模式学习:</title><link>http://www.cppblog.com/Aireed/archive/2009/08/12/92990.html</link><dc:creator>三水寿</dc:creator><author>三水寿</author><pubDate>Wed, 12 Aug 2009 01:44:00 GMT</pubDate><guid>http://www.cppblog.com/Aireed/archive/2009/08/12/92990.html</guid><wfw:comment>http://www.cppblog.com/Aireed/comments/92990.html</wfw:comment><comments>http://www.cppblog.com/Aireed/archive/2009/08/12/92990.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Aireed/comments/commentRss/92990.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Aireed/services/trackbacks/92990.html</trackback:ping><description><![CDATA[1:充分使用了C++多态的特性.把子类对象的地址赋给父类的指针.<br>2:使用到了继承与类组合.在结构模式和行为模式中类组合居多.创建模式中,类的继承占多.<br>3.为了实现怎样的目的,怎么运用这三种特性.
<img src ="http://www.cppblog.com/Aireed/aggbug/92990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Aireed/" target="_blank">三水寿</a> 2009-08-12 09:44 <a href="http://www.cppblog.com/Aireed/archive/2009/08/12/92990.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>