当前位置:首页 » 编程语言 » c语言微软编译器
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言微软编译器

发布时间: 2022-08-08 09:13:45

A. c语言怎么用微软的软件编译(过程)

DOS下面是没有cl的,cl是Windows下命令行方式的编译工具,IDE也是调用它编译的。直接cl.exe /help就能看到帮助,贴给你吧 VS2010的(2012的可以交叉编译ARM架构的目标代码)

用于 80x86 的 Microsoft (R) 32 位 C/C++ 优化编译器 16.00.40219.01 版
版权所有(C) Microsoft Corporation。保留所有权利。

C/C++ 编译器选项

-优化-

/O1 最小化空间 /O2 最大化速度
/Ob<n> 内联扩展(默认 n=0) /Od 禁用优化(默认)
/Og 启用全局优化 /Oi[-] 启用内部函数
/Os 优选代码空间 /Ot 优选代码速度
/Ox 最大化优化 /Oy[-] 启用帧指针省略

-代码生成-

/GF 启用只读字符串池 /Gm[-] 启用最小重新生成
/Gy[-] 分隔链接器函数 /GS[-] 启用安全检查
/GR[-] 启用 C++ RTTI /GX[-] 启用 C++ EH (与 /EHsc 相同)
/EHs 启用 C++ EH (没有 SEH 异常) /EHa 启用 C++ EH (w/ SEH 异常)
/EHc 外部“C”默认为 nothrow
/fp:<except[-]|fast|precise|strict> 选择浮点模式:
except[-] - 在生成代码时考虑浮点异常
fast -“fast”浮点模式;结果可预测性比较低
precise -“precise”浮点模式;结果可预测
strict -“strict” 浮点模式(意味着 /fp:except)
即使使用 /fp:except,/Qfast_transcendentals 也生成内联内部 FP
/GL[-] 启用链接时代码生成 /GA 为 Windows 应用程序进行优化
/Ge 对所有函数强制堆栈检查 /Gs[num] 控制堆栈检查调用
/Gh 启用 _penter 函数调用 /GH 启用 _pexit 函数调用
/GT 生成纤程安全 TLS 访问 /RTC1 启用快速检查(/RTCsu)
/RTCc 转换为较小的类型检查 /RTCs 堆栈帧运行时检查
/RTCu 未初始化的局部用法检查
/clr[:option] 为公共语言运行时编译,其中 option 是:
pure - 生成只包含 IL 的输出文件(没有本机可执行代码)
safe - 生成只包含 IL 的可验证输出文件
oldSyntax - 接受 Visual C++ 2002/2003 的托管扩展语法
initialAppDomain - 启用 Visual C++ 2002 的初始 AppDomain 行为
noAssembly - 不产生程序集 /Gd __cdecl 调用约定
/Gr __fastcall 调用约定 /Gz __stdcall 调用约定
/GZ 启用堆栈检查(/RTCs) /QIfist[-] 使用 FIST 而不是 ftol()
/hotpatch 确保可热修补映像的函数填充
/arch:<SSE|SSE2|AVX> CPU 架构的最低要求,以下选项之一:
SSE - 启用支持 SSE 的 CPU 可用的指令
SSE2 - 启用支持 SSE2 的 CPU 可用的指令
AVX - 支持使用 Intel(R) 高级矢量扩展指令
/Qimprecise_fwaits 仅在“try”边界而不是“try”内部生成 FWAITs
/Qsafe_fp_loads 生成安全 FP 负载

-输出文件-

/Fa[file] 命名程序集列表文件 /FA[scu] 配置程序集列表
/Fd[file] 命名 .PDB 文件 /Fe<file> 命名可执行文件
/Fm[file] 命名映射文件 /Fo<file> 命名对象文件
/Fp<file> 命名预编译头文件 /Fr[file] 命名源浏览器文件
/FR[file] 命名扩展 .SBR 文件 /Fi[file] 命名预处理的文件
/doc[file] 处理 XML 文档注释,并可选择命名 .xdc 文件

-预处理器-

/AI<dir> 添加到程序集搜索路径 /FU<file> 强制使用程序集/模块
/C 不抽出注释 /D<name>{=|#}<text> 定义宏
/E 预处理到 stdout /EP 预处理到 stdout,无行号
/P 预处理到文件 /Fx 将插入的代码合并到文件中
/FI<file> 命名强制包含文件 /U<name> 移除预定义的宏
/u 移除所有预定义的宏 /I<dir> 添加到包含搜索路径
/X 忽略“标准位置”

-语言-

/Zi 启用调试信息 /Z7 启用旧式调试信息
/Zp[n] 在 n 字节边界上包装结构 /Za 禁用扩展
/Ze 启用扩展(默认) /Zl 省略 .OBJ 中的默认库名
/Zg 生成函数原型 /Zs 只进行语法检查
/vd{0|1|2} 禁用/启用 vtordisp /vm<x> 指向成员的指针类型
/Zc:arg1[,arg2] C++ 语言合规性,这里的参数可以是:
forScope[-] - 对范围规则强制使用标准 C++
wchar_t[-] - wchar_t 是本机类型,不是 typedef
auto[-] - 对 auto 强制使用新的标准 C++ 含义
trigraphs[-] - 启用三元祖(默认为关闭)
/ZI 启用“编辑并继续”调试信息 /openmp 启用 OpenMP 2.0 语言扩展

- 杂项 -

@<file> 选项响应文件 /?, /help 打印此帮助消息
/bigobj 生成扩展的对象格式 /c 只编译,不链接
/errorReport:option 将内部编译器错误报告给 Microsoft
none - 不发送报告 prompt - 提示立即发送报告
queue - 在下一次管理员登录时,提示发送报告(默认)
send - 自动发送报告 /FC 诊断中使用完整路径名
/H<num> 最大外部名称长度 /J 默认 char 类型是 unsigned
/MP[n] 最多使用“n”个进程进行编译 /nologo 取消显示版权信息
/showIncludes 显示包含文件名 /Tc<source file> 将文件编译为 .c
/Tp<source file> 将文件编译为 .cpp /TC 将所有文件编译为 .c
/TP 将所有文件编译为 .cpp /V<string> 设置版本字符串
/w 禁用所有警告 /wd<n> 禁用警告 n
/we<n> 将警告 n 视为错误 /wo<n> 发出一次警告 n
/w<l><n> 为 n 设置警告等级 1-4 /W<n> 设置警告等级(默认 n=1)
/Wall 启用所有警告 /WL 启用单行诊断
/WX 将警告视为错误 /Yc[file] 创建 .PCH 文件
/Yd 将调试信息放在每个 .OBJ 中 /Yl[sym] 为调试库插入 .PCH 引用
/Yu[file] 使用 .PCH 文件 /Y- 禁用所有 PCH 选项
/Zm<n> 最大内存分配(默认为 %) /Wp64 启用 64 位端口定位警告

-链接-

/LD 创建 .DLL /LDd 创建 .DLL 调试库
/LN 创建 .netmole /F<num> 设置堆栈大小
/link [链接器选项和库] /MD 与 MSVCRT.LIB 链接
/MT 与 LIBCMT.LIB 链接 /MDd 与 MSVCRTD.LIB 调试库链接
/MTd 与 LIBCMTD.LIB 调试库链接

-代码分析-

/analyze[:WX-] 启用代码分析
WX- - 即使调用了 /WX,也不应将代码分析警告视为错误

B. 目前主流的C语言编译软件是什么

C语言相比其他很多新兴的、复杂的语言,语法还是简单一些,较好实现的。

所以在C语言几十年的发展中出现了各式各样的编译器,还有一些容易被误解为编译器的IDE。


这里列举几个主流的:

  1. GCC

    毫无疑问,GCC几乎是unix及linux系统中最通用的编译器套件,几乎所有的linux发行版都预装了GCC作为C语言的默认编译器。除了对C语言的支持,GCC还支持C++、Objective-C等多种语言。GCC早在1987就由Richard Stallman作为GNU计划的一部分发布。

  2. Clang

    Clang是近几年新兴的C/C++以及Objective-C的编译器,Apple是其主要投资者,其最初的开发者已加盟Apple。虽说是新兴,但其对C/C++标准的支持不亚于GCC等老牌编译器,并且外部接口和GCC完全兼容,并且因其模块化、错误提示完善等优点已经越来越受到重视。一些如FreeBSD等项目已将clang作为默认编译器。

    其实Clang并不是一个完整的编译器,而是作为同一批开发者开发的另一个备受关注的虚拟机(类似于JVM)的llvm的一个前端开发,只是负责将C语言源码编译为llvm IR的中间语言,再由llvm编译为目标代码,这样做可以让其可移植性更好。

  3. Microsoft Visual C++

    作为拥有可视化集成编程系统的编译器,VC被很多使用Windows作为开发环境的初学者使用。详见网络的介绍

    http://ke..com/view/2070966.htm?fromtitle=vc&fromid=7792954&type=syn#viewPageContent


C. 微软用什么C语言编译器

windows是本身就是C语言写的,C语言是编程的基础,所以微软的编译器就是Microsoft Visual C++; Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。 它不但具有微软用什么C语言编译器

D. 适合win10系统的c语言编译器

桌面操作系统

对于当前主流桌面操作系统而言,可使用 VisualC++、GCC以及 LLVM Clang 这三大编译器。

Visual C++(简称 MSVC)只能用于 Windows 操作系统;GCC 和 LLVM Clang除了可用于Windows操作系统之外,主要用于 Unix/Linux操作系统。

像现在很多版本的 Linux 都默认使用 GCC 作为C语言编译器,而像 FreeBSD、macOS 等系统默认使用 LLVM Clang 编译器。由于当前 LLVM 项目主要在 Apple 的主推下发展的,所以在 macOS中,Clang 编译器又被称为 Apple LLVM 编译器。

MSVC 编译器主要用于 Windows 操作系统平台下的应用程序开发,它不开源。用户可以使用 Visual Studio Community 版本来免费使用它,但是如果要把通过 Visual Studio Community 工具生成出来的应用进行商用,那么就得好好阅读一下微软的许可证和说明书了。

而使用 GCC 与 Clang 编译器构建出来的应用一般没有任何限制,程序员可以将应用程序随意发布和进行商用。

MSVC 编译器对 C99 标准的支持就十分有限,加之它压根不支持任何 C11 标准,所以本教程中设计 C11 的代码例子不会针对 MSVC 进行描述。所幸的是,Visual Studio Community 2017 加入了对 Clang 编译器的支持,官方称之为——Clang with Microsoft CodeGen,当前版本基于的是 Clang 3.8。

也就是说,应用于 Visual Studio 集成开发环境中的 Clang 编译器前端可支持 Clang 编译器的所有语法特性,而后端生成的代码则与 MSVC 效果一样,包括像 long 整数类型在 64 位编译模式下长度仍然为 4 个字节,所以各位使用的时候也需要注意。

为了方便描述,本教程后面涉及 Visual Studio 集成开发环境下的 Clang 编译器简称为 VS-Clang 编译器。

嵌入式系统

而在嵌入式系统方面,可用的C语言编译器就非常丰富了,比如:

  • 用于 Keil 公司 51 系列单片机的 Keil C51 编译器;

  • 当前大红大紫的 Arino 板搭载的开发套件,可用针对 AVR 微控制器的 AVRGCC 编译器;

  • ARM 自己出的 ADS(ARM Development Suite)、RVDS(RealView Development Suite)和当前最新的 DS-5 Studio;

  • DSP 设计商 TI(Texas Instruments)的 CCS(Code Composer Studio);

  • DSP 设计商 ADI(Analog Devices,Inc.)的 Visual DSP++ 编译器,等等。


  • 通常,用于嵌入式系统开发的编译工具链都没有免费版本,而且一般需要通过国内代理进行购买。所以,这对于个人开发者或者嵌入式系统爱好者而言是一道不低的门槛。


  • 不过 Arino 的开发套件是可免费下载使用的,并且用它做开发板连接调试也十分简单。Arino 所采用的C编译器是基于 GCC 的。


  • 还有像树莓派(Raspberry Pi)这种迷你电脑可以直接使用 GCC 和 Clang 编译器。此外,还有像 nVidia 公司推出的 Jetson TK 系列开发板也可直接使用 GCC 和 Clang 编译器。树莓派与 Jetson TK 都默认安装了 Linux 操作系统。


  • 在嵌入式领域,一般比较低端的单片机,比如 8 位的 MCU 所对应的C编译器可能只支持 C90 标准,有些甚至连 C90 标准的很多特性都不支持。因为它们一方面内存小,ROM 的容量也小;另一方面,本身处理器机能就十分有限,有些甚至无法支持函数指针,因为处理器本身不包含通过寄存器做间接过程调用的指令。


  • 而像 32 位处理器或 DSP,一般都至少能支持 C99 标准,它们本身的性能也十分强大。而像 ARM 出的 RVDS 编译器甚至可用 GNU 语法扩展。


  • 下图展示了上述C语言编译器的分类。


E. c语言用什么编译器

c语言可以用的编译器有很多,包括Microsoft Visual C++、My Eclipse、Turbo C和gcc编译器等。Microsoft Visual C++是微软公司的免费C语言编程软件,是用户安装时必须安装的运

F. C语言在windows平台上的编译器有哪些

Windows平台的C编译器通常是Microsoft Visual C++ 最高版本6.0
和Borland的Borland C++ Builder 最高版本好像也是6.0
自从微软在Windows平台上的C编译器取得霸主地位后,就没有发布过更新版本的32位C编译器了。
另外值的一提的就是C++ .NET 是微软.NET计划中的一个组件,它可以把C++代码编译成为.NET平台的二进制码,但需要.NET 运行环境(Runtime)的支持才能跑起来。

G. window内自带的C语言编译器怎么用

1、首先,输入【#include】。


注意事项:

尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

H. microsoft visual c++2010 是C语言编译器么

Microsoft Visual C++ 2010 是 C/C++ 语言 的编译器。

也就说,如果机器上安装了 Microsoft Visual C++ ,就可以完成对 C/C++ 源代码的编译了。Microsoft Visual C++ 作为功能强大的 IDE —— Visual Studio (VS)的一部分,用户群十分庞大,它一般都是伴随着 Visual Studio 2010 安装上的。另外的安装途径,还包括 QT 的安装,就是说如果你之前安装过 QT,也会带来 Microsoft Visual C++ 编译环境。

另外,和 Microsoft Visua C++ 同等关系是,gcc 编译器。gcc 是 GNU 下的一款编译器,Unix/Linux 系统几乎从诞生,就和 gcc 绑定在了一起。而因为它开源的天性,各种开源项目都是用的 gcc。现在的 gcc 的主要特点是,对最新 c/c++ 语言的标准支持及时,近些年在 Windows 平台上的应用也越来越广泛。其实还得益于,一些工具链例如 Eclipse,对 gcc 编译器的青睐。

MSVC 和 gcc 比起来的话,各有优缺。如果我们项目中有 MFC, ATL 这些东西,那只能选择 MSVC,因为 gcc 并没有对其的支持。而一旦涉及 SSE, intrinsics, 和inline assembly 这些的时候,gcc 会表现出明显的优势。

所以我们可以说 Microsoft Visual C++ 2010 是一款不错的 C/C++ 语言编译器。

I. win7下c语言编译器有那些

1、常用的是微软自家的cl编译器,需要安装vc/vs等集成开发环境。如果是程序员专业开发,一般使用vs,如果是普通学习c语言,可以安装vc6.0,目前vc6.0完美运行于win7 32位及64位系统。

2、另外还有gcc编译器,实际上是gcc的windows版本,此类的IDE有devc++,也可以安装cygwin,一款用于在windows模拟linux环境的程序。