深入探究VC —— 编译器cl.exe(2)
这一章节介绍的全是VC编译器选项,option参数是cl.exe的编译选项,是cl.exe命令行参数中最复杂、也是最常用的。下面介绍一些常用的编译选项:
1、代码生成有关
这些选项将影响编译完成后生成的机器代码:
2、调试有关
与调试有关的编译选项如下图,/Z7、/Zi、/ZI这三个选项是对程序进行调试时所必需的选项,同时注意,在生成调试版本的程序时,需要指定/Od选项以禁用优化:
3、程序优化有关
与程序优化有关的选项如下图,优化选项将影响编译器对代码的优化,最选择代码体积最小还是选择运行速度最快等需要使用这些选项:
4、输出文件有关
与生成的输出文件有关的选项如下图,输入文件在参数中需要使用字符串来指定其路径,字符串使用双引号("")括起来,如/Fd "BIN//"。注意字符串的转意字符,如果需要使用单斜杠表示文件路径,需要使用双杠("//"):
5、预处理器有关
与预处理器有关的选项如下图,这些选项将影响预处理器的运行,比如通过/D选项可以达到与在源代码中使用#define定义基本相同的效果:
6、链接有关
与链接有关的选项如下图,编译器可以调试链接器,向链接器传递调用参数。/link选项完成这项功能,还可以指定堆栈的大小,创建动态链接库等:
7、预编译有关
与预编译有关的选项如下图,这些编译选项会影响预编译结果:
8、语言有关
与语言有关的选项如下图,比如/Za、/Ze选项表示是否支持微软的语言扩展,还是只支持标准 C/C++。/Zp选项可以指定结构中的成员对齐方式,这将影响到生成的程序中结构体的大小。在一些协议头的处理中,/Zp选项非常有用:
9、其他选项
这些选项的影响是多方面的,不太好分类。包括显示帮助信息、设置警告等。
关于VC编译器参数与选项方面的知识就是这此了,当然这里只是大多数VC/C++编译器常用的选项,并不是全部编译选项。
(如果需要使用到编译器其他的选项,请自行查阅MSDN)
另外,不足的地方希望大家能够补充说明!
本文来自CSDN博客,转载请标明出处:http://www.cnblogs.com/lidabo/admin/file:///C:/Documents%20and%20Settings/Administrator/桌面/MFC-20100806文章/MFC-20100806文章/深入探究VC%20——%20编译器cl_exe(2)%20-%20zxzqwq2009的专栏%20-%20CSDN博客.htm
深入探究VC —— 编译器cl.exe(2)的更多相关文章
- 深入探究VC —— 编译器cl.exe(1)
cl.exe的功能是将源代码文件编译为可提供链接器使用的obj对象文件.cl.exe命令行参数形式如下: CL (option...) file... [option | file]... [lib. ...
- C语言编译器CL.exe
下载地址CL.7z版权问题:仅供学习交流,请于24小时内删除,本人不承担版权问题… 基本使用: 1.解压缩,例如解压缩到E盘根目录下 2.打开cmd命令行界面(快捷方式win+R输入cmd回车)cd命 ...
- 链接器link.exe 编译器cl.exe 资源编译器rc.exe
原文地址:https://blog.csdn.net/biggbang/article/details/24433065 1.cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译 ...
- 深入探究VC —— 链接器link.exe(4)
在程序编译完成后,生成的文件是以.obj为扩展名的对象文件,link.exe是将这些对象文件与库链接起来以创建可执行文件或动态链接库文件的工具. link.exe的输入文件包括obj文件.lib文件. ...
- 深入探究VC —— 资源编译器rc.exe(3)
Windows应用程序中,图标.菜单.畏途.图标.工具条.对话框等是以资源的形式存在的.开发人员也可以自定义资源类型.如果一个程序使用了资源,那么它在构建时需要对资源进行编译.程序所使用的资源会在资源 ...
- Notepad++中调用cl.exe编译器(Windows)
Notepad++中调用cl.exe编译器(Windows) 近来在notepad++中写代码,写完后总是习惯性的想去VS里面编译一下,看看代码是否有误.但有时候一些零碎的小文件总是懒得再VS中打开, ...
- vc中Error spawning cl.exe错误的解决方法.
可能很多人在安装VC 6.0后有过点击“Compile”或者“Build”后被出现的 “Compiling... ,Error spawning cl.exe”错误提示给郁闷过.很多人的 选择是重装, ...
- 通过命令行使用cl.exe编译器
转载http://www.cnblogs.com/mizhongqin/archive/2013/03/11/cmd_cl-exe_vs2010.html 与在IDE中编译相比,命令行模式编译速度更快 ...
- vc中nmake.exe cl.exe 的使用
首先简单介绍一下程序是如何编译链接的.程序写好之后,我们进行编译和链接来产生可执行程序.这时候,编译器为了完成编译和链接,需要知道很多信 息.比如要编译的文件是哪一个,使用哪些编译选项进行编译,编译好 ...
随机推荐
- 手把手教你在openshift上搭建wordpress博客(二)
相同公布于:http://www.longgaming.com/archives/128 推荐前往阅读 这一篇文章主要介绍一些经常使用插件的使用和配置. 下面是我个人安装的一些插件.大家能够依据须要自 ...
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (四) —— ContentProvider
ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制.一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制.并且此种方式忽略了底层的数据存储实现,Cont ...
- Objective-c 字典对象
oc 中的 NSDictionary 的作用同 java 中的字典类相同,提供了 “键-值”对的组合.比如,是用字典类实现对学生姓名和学号的存放,编号是一个键(唯一性),姓名是值.它的方法有: 下面通 ...
- 【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等
转自:http://blog.csdn.net/dolacmeng/article/details/46594839 以前做项目用高德地图SDK,需要注册账号和AppID,然后下载SDK集成到项目中, ...
- dans le quartier
culture /kyltyr/ 文化 une école [ekɔl] un cinéma un musée une église un théâtre [teɑtr] un opéra [ɔp ...
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
- BZOJ 1316: 树上的询问( 点分治 + 平衡树 )
直接点分治, 用平衡树(set就行了...)维护. -------------------------------------------------------------------------- ...
- linux怎样修改用户权限
ls -l 查看目录下的文件详细信息 ll 同上 whoami 功能说明:先似乎用户名称. 语 法:whoami [--help][--version] 补充说明:显示自身的用户名称,本指令相当于执 ...
- python函数callable
callable(object) 中文说明:检查对象object是否可调用.如果返回True,object仍然可能调用失败:但如果返回False,调用对象ojbect绝对不会成功. 注意:类或函数是可 ...
- .NET study collection links
Parameter Binding in ASP.NET Web API http://www.asp.net/web-api/overview/formats-and-model-binding/p ...