VC编译器参数设置汇总

昂首阔步 从BC编译器走向VC编译器   昂首阔步 从BC编译器走向VC编译器                             作者: 湖北大学 冯火亘 (显) 当我们的项目通过编译器时,我们总觉得是这么神奇.当我们的项目在一个编译器中运行而在另一个编译器中被否定时,我们总是这么困惑.面对幕布罩盖的编译器中的规律、我们更感到神秘.这里、我用一个简单的方法来掀开这神密幕布的一角.同时、也为一个程序从BC5编译 阅读详情

       平时用MS下的编译器都是可视化操作,熟不知就是在完善makefile而已,今天突然想分析一个lua的luavs.bat的文件如何在VS2008下进行编译,发现已经N年没有搞嵌入式的自己居然makefile也写不来了,好吧现在把MS的编译器中常用的参数百度了一下如下方便以后自己参考啦~

 

VC编译器参数设置汇总

CL.exe的全部命令开关  
   
  /C:在预处理输出中保留注释语句  
  /c:只编译,不连接,相当于在"Build"菜单下选择了"Compile"  
  /D:定义常量和宏,与源程序里的#define   有相同效果  
  /E:预处理C、C++源文件,将源文件中所有的预编译指令及宏展开,将注释去掉,然后将预处理器的输出拷贝至标准输出设备输出,并且在每个文件的开头和末尾加入#line  
  /EH:指定编译器用何种异常处理模型  
  /EP:同/E,只是去掉了#line  
  /F:设置程序的堆栈大小  
  /FA:设置生成何种列表文件(汇编、汇编与机器码、汇编与源码、汇编与机器码以及源码)  
  /Fa:指定用/FA设置的列表文件的存放路径及(或)文件名  
  /FD:生成文件的相互依赖信息  
  /Fd:设置程序数据库文件(PDB)的存放路径及(或)文件名  
  /Fe:设置最终可执行文件的存放路径及(或)文件名  
  /FI:预处理指定的头文件,与源文件中的#include有相同效果  
  /Fm:创建map文件  
  /Fo:设置编译后Obj文件的存放路径及(或)文件名  
  /Fp:设置预编译文件(pch)的存放路径及(或)文件名  
  /FR:生成浏览信息(sbr)文件  
  /Fr:同/FR,不同之处在于/Fr不包括局部变量信息  
  /G3:为80386处理器优化代码生成  
  /G4:为80486处理器优化代码生成  
  /G5:为Pentium处理器优化代码生成  
  /G6:为Pentium   Pro处理器优化代码生成  
  /GA:为Windows应用程序作优化  
  /GB:为Pentium处理器优化代码生成,使用80386、80486、Pentium、Pentium   Pro的混合指令集,是代码生成的默认选项(程序属性选项中Processor对应Blend)  
  /GD:为Windows动态库(dll)作优化,此开关在VC6中没有实现  
  /Gd:指定使用__cdecl的函数调用规则  
  /Ge:激活堆栈检测  
  /GF:消除程序中的重复的字符串,并将她放到只读的缓冲区中  
  /Gf:消除程序中的重复字符串  
  /Gh:在每个函数的开头调用钩子(hook)函数--penter  
  /Gi:允许渐进编译  
  /Gm:允许最小化rebuild  
  /GR:允许运行时类型信息(Run-Time   Type   Infomation)  
  /Gr:指定使用__fastcall的函数调用规则  
  /Gs:控制堆栈检测所用内存大小  
  /GT:支持用__declspec(thread)分配的数据的fier-safety  
  /GX:允许同步异常处理,与/EHsc开关等价  
  /Gy:允许编译器将每一个函数封装成COMDATs的形式,供连接器调用  
  /GZ:允许在Debug   build   的时候捕捉Release   build的错误  
  /Gz:指定使用__stdcall的函数调用规则  
  /H:限制外部名字的长度  
  /HELP:列出编译器的所有的命令开关  
  /I:指定头文件的搜索路径  
  /J:将char的缺省类型从signed   char改成unsigned   char  
  /LD:创建一个动态连接库  
  /LDd:创建一个Debug版本的动态链接库  
  /link:将指定的选项传给连接器  
  /MD:选择多线程、DLL版本的C   Run-Time库  
  /MDd:选择多线程、DLL、Debug版本的C   Run-Time库  
  /ML:选择单线程版本的C   Run—Time库  
  /MLd:选择单线程、Debug版本的C   Run—Time库  
  /MT:选择多线程版本的C   Run-Time库  
  /MTd:选择多线程、Debug版本的C   Run—Time库  
  /nologo:不显示程序的版权信息  
  /O1:优化使产生的可执行代码最小  
  /O2:优化使产生的可执行代码速度最快  
  /Oa:指示编译器程序里没有使用别名,可以提高程序的执行速度  
  /Ob:控制内联(inline)函数的展开  
  /Od:禁止代码优化  
  /Og:使用全局优化  
  /Oi:用内部函数去代替程序里的函数调用,可以使程序运行的更快,但程序的长度变长  
  /Op:提高浮点数比较运算的一致性  
  /Os:产生尽可能小的可执行代码  
  /Ot:产生尽可能块的可执行代码  
  /Ow:指示编译器在函数体内部没有使用别名  
  /Ox:组合了几个优化开关,达到尽可能多的优化  
  /Oy:阻止调用堆栈里创建帧指针  
  /Q1f:对核心级的设备驱动程序生成单独的调试信息  
  /QI0f:对Pentium   0x0f错误指令作修正  
  /Qifdiv:对Pentium   FDIV错误指令作修正  
  /P:将预处理输出写到指定文件里,文件的后缀名为I  
  /TC:将命令行上的所有文件都当作C源程序编译,不管后缀名是否为.c  
  /Tc:将指定的文件当作C源程序编译,不管后缀名是否为.c  
  /TP:将命令行上的所有文件都当作C++源程序编译,不管后缀名是否为.cpp  
  /Tp:将指定文件当作C++源程序编译,不管后缀名是否为.cpp  
  /U:去掉一个指定的前面定义的符号或常量  
  /u:去掉所有前面定义的符号或常量  
  /V:在编译的obj文件里嵌入版本号  
  /vd:禁止/允许构造函数置换  
  /vmb:选择指针的表示方法,使用这个开关,在声明指向某个类的成员的指针之前,必须先定义这个类  
  /vmg:选择指针的表示方法,使用这个开关,在声明指向某个类的成员的指针之前,不必先定义这个类,但要首先指定这个类是使用何种继承方法  
  /vmm:设置指针的表示方法为Single   Inheritance   and   Multiple   Inheritance  
  /vms:设置指针的表示方法为Single   Inheritance  
  /vmv:设置指针的表示方法为Any   class  
  /W:设置警告等级  
  /w:禁止所有警告  
  /X:阻止编译器搜索标准的include   目录  
  /Yc:创建预编译头文件(pch)  
  /Yd:在所有的obj文件里写上完全的调试信息  
  /Yu:在build过程中使用指定的预编译头文件  
  /YX:指示编译器若预编译头文件存在,则使用它,若不存在,则创建一个  
  /Z7:生成MSC7.0兼容的调试信息  
  /Za:禁止语言扩展(Microsoft   Extensions   to   C)  
  /Zd:调试信息只包含外部和全局的符号信息以及行号信息  
  /Ze:允许语言扩展(Microsoft   Extensions   to   C)  
  /Zg:为源文件里面定义的每个函数生成函数原型  
  /ZI:生成程序库文件(Pdb)并支持Edit   and   Continue调试特性  
  /Zi:生成程序库文件(pdb),包含类型信息和符号调试信息  
  /ZL:从obj文件里去掉缺省的库文件名  
  /Zm:设置编译器的内存分配xianzhi  
  /Zn:禁止浏览信息文件里面的封装  
  /Zp:设置结构成员在内存里面的封装格式  
  /Zs:快速检查语法错误  

文章出处:飞诺网(www.diybl.com):http://www.diybl.com/course/3_program/vc/vc_js/2008914/142768.html

 

Vc++编译器选项设置详解(有80页) 从MSDN技术库下载,不用每次碰到不认识的编译参数再上网找,看着也省事,也为编程爱好者提供方便,下载合在一起有80页,可供查阅参考。 立即下载

相关推荐

ST-Link V2的隐藏技能:多通道串口调试的终极指南

本文深入探讨了ST-Link V2的多通道串口调试功能,突破传统烧录工具的限制。通过详细的硬件配置、Arduino IDE设置和实战案例,展示了如何利用SWD接口实现多通道数据监控,提升STM32F103C8T6等开发板的调试效率。文章还提供了PCB布局优化和性能调优技巧,助力开发者充分发挥ST-Link V2的潜能。

weixin_29285605的博客 355

VC编译器参数与选项详解

<br />一、关于命令行参数:<br /> cl.exe的功能是将源代码文件编译为可提供链接器使用的obj对象文件。cl.exe命令行参数形式如下:<br />CL (option...) file... [option | file]... [lib...] [@command-file] [/link link-opt...]<br />各命令行参数的意义如下 :<br />1、option<br />命令行中的"option"是指一个或多个编译选项。在指定选项时,需要在选项前加正斜杠(/)或一个短划

oathevil的专栏 4083

【论文泛读|附源码】如何进行动力学重构? 神经网络自动编码器结合SINDy发现数据背后蕴含的方程

这一篇文章叫做 **数据驱动**的**坐标发现与方程发现算法**。想回答的问题很简单,就是根据数据写方程。 想想牛顿的处境,如何根据各种不同物体下落的数据,写出万有引力的数学公式的。这篇文章就是来做这件事的。当然,这篇论文并没有从牛顿视角,完全去思考牛顿所想。而是利用现有的**深度学习技术** 和 **动力学重构的方法** 。提出了一种框架,基于现有的计算机技术,去发现物质运动背后的物理规律。 这里直接给出这篇方法的核心思路图,我们后面会逐个讲解。

qq5q13638的博客 2456

MSVC C/C++编译器选项 cl命令参数

C/C++ 编译器选项 -优化- /O1 最大优化(优选空间) /O2 最大优化(优选速度) /Ob 内联扩展(默认 n=0) /Od 禁用优化(默认) /Og 启用全局优化 /Oi[-] 启用内部函数 /Os 优选代码空间 /Ot 优选代码速度...

、moddemod 5465

ADC INL&DNL测试方法和实例

本文介绍了一种可操作的ADC INL和DNL的测试方法--直方图法(也称码密度法)。并实际使用该方法测试了两款芯片的ADC INL和DNL

APTCHIP的博客 1万+

【100%通过率】华为od机试C卷【特殊的加密算法】Python 实现

有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。规则如下1.明文为一段数字串由0-9组成2.密码本为数字0-9组成的二维数组3.需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是由相邻的单元格数字组成,上下和左右是相邻的,注意:对角线不相邻,同一个单元格的数字不能重复使用。

MISAYAONE的博客 5924

配置编译设置

配置编译设置 指定编译类型 编译类型 MATLAB®Coder™可以生成以下输出类型的代码: MEX 函数 独立 C/C++ 代码 独立 C/C++ 代码并将其编译为静态库 独立 C/C++ 代码并将其编译为动态链接库 独立 C/C++ 代码并将其编译为可执行文件 注意 生成可执行文件时,必须提供包含main函数的 C/C++ 文件,如指定 C/C++ 可执行文件的主函数中所述。 生成的文件的位置 默认情况下,MATLAB Coder........

jk_101的博客 1384

图解电动汽车:电动汽车电控系统

电动汽车的电控系统通常包含三个子控制系统 —— 整车控制器、电池管理系统、驱动电机控制器。 整车控制器 VCU 整车控制器 VCU(Vehicle Control Unit)作为电动汽车的中央控制单元,是整个控制系统的核心,也是各个子系统的调控中心。VCU 的主要功能就是协调管理整车的运行状态,包括采集电机及电池状态,采集加速踏板信号、制动踏板信号、执行器及传感器信号,根据驾驶员的意图综合分析做出相应判定后,监控下层的各部件控制器的动作,它负责汽车的正常行驶、制动能量回馈、整车发动机及动力电池的能量管理、.

程序员「阿基米东」的编程之旅 1万+

【Linux】编译器参数配置

CFLAGS: 表示用于 C 编译器的选项, CXXFLAGS: 表示用于 C++ 编译器的选项。 这两个变量实际上涵盖了编译和汇编两个步骤。CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include目

RazilFelix的博客 1116

基于Matlab的深度学习OFDM系统信号检测

在接收端,我们首先去除循环前缀,然后对接收到的信号进行FFT变换和QAM解调。在通信系统中,正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)是一种常用的调制技术,它可以将高速数据流分成若干个低速子载波进行传输,提高了信道利用率和抗干扰性能。接下来,我们使用训练好的神经网络对QAM调制后的数据进行检测,得到估计的FFT变换结果。深度学习方法可以通过大量的训练数据来学习信号的特征,并具有一定的适应能力,在某些情况下可能能够获得更好的检测性能。

2301_79325657的博客 296

多模态大模型:技术原理与实战 全球多模态大模型介绍

关键词:多模态大模型、深度学习、计算机视觉、自然语言处理、跨模态学习、迁移学习、人工智能随着人工智能技术的飞速发展,多模态大模型已经成为了当前AI领域最热门的研究方向之一。多模态大模型能够同时处理和理解多种类型的数据,如文本、图像、音频和视频等,这为AI系统在复杂场景下的应用提供了更加强大和灵活的能力。本文将深入探讨多模态大模型的技术原理,介绍其实战应用,并对全球主要的多模态大模型进行全面的介绍和比较。

AI天才研究院 4267

亲密接触VC6.0编译器

大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢?&lt;?xml...

我是传奇 323

YOLOv11改进 | Neck篇 | 双向特征金字塔网络BiFPN助力YOLOv11有效涨点

本文给大家带来的改进机制是BiFPN双向特征金字塔网络,其是一种特征融合层的结构,也就是我们本文改进YOLOv11模型中的Neck部分,它的主要思想是通过多层级的特征金字塔和双向信息传递来提高精度。本文给大家带来的结构可以让大家自行调节网络结构大小,同时能够达到一定的轻量化效果,为什么发BiFPN呢因为它算是YOLO系列改进中的常青树了,大家可以借鉴它的双向特征思想来创新自己的Neck结构本文的BiFPN通过yaml文件配置可以让大家自行调配其结构。

Snu77的博客 9099

VC编译器与GCC编译器的区别

首先,所谓语法区别是针对程序设计语言而言的,这里首先你要分清楚它们之间的区别。 Gcc:它是一款开源的C语言编译器,原来只能在Linux系统上使用,后来移植到了Windows操作系统上,以此为基础的编译环境典型的又MinGW。 它不是编程语言,所以没有语法这一说。G++:和GCC一个性质,只不过它是针对C++语言的。 VC:它有两种解释: 1.即VC本身,是微软公司推出的一款C++编译器,Visu...

江湖骇客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VC6.0编译器参数设置

VC6.0编译器参数的设置主要通过VC的菜单项Project->Settings->C/C++页来完成。我们可以看到这一页的最下面Project Options中的内容,一般如下:/nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Fp"Debug/Writin

1947

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

认识VC 编译器

认识VC 编译器 收藏     大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够

sealinedfw的专栏 1467

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

qtcreator添加绿色版VC编译器

在不装VS的情况下为qtcreator添加VC编译器和调试器 首先假设在D盘有VC6,VC2002,VC2003,VC2005,VC2008,VC2010,VC2013等绿色版的VC编译器,编译器的的目录下有bin,lib,include目录和PlatformSDK目录,情况大概是这样的: 然后比如在D:/VC2002/bin下要有SetEnv.cmd文件,文件内容是这样子的: @e

knight 3962

matlab vc 编译器,精通VC与MATLAB联合编程——编译器的使用

作者:邓科下载源代码在上一章中对MATLAB 编译器做了简要介绍,并介绍了如何将m文件转换成VC可调用的dll文件,在这章中介绍如何利用编译器将m文件转换成对应的C/C++文件,并在VC中调用。这章节中的例子是在第四章中介绍过的解线形方程组。首先要保证编译器设置正确,编译器的设置可以参考前面两章的内容。如果以前已经进行了配置就不需要这一步。1、在MATLAB中编写如下函数:function [x]...

weixin_29582919的博客 2469

vc编译器简介

vc编译器简介大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游

海贝的专栏 766

编译器-VC6.0全解及调试技巧

来源:看雪技术论坛 1、Run-Time LibraryRun-Time Library是编译器提供的标准库,提供一些基本的库函数和系统调用。我们一般使用的Run-Time Library是C Run-Time Libraries。当然也有Standa

民工之家 2842
上一篇: 在vs2008中编写dll如何生成lib文件
下一篇: LUA编译
dingdingko
博客等级 码龄20年 50粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值