- 浏览: 1586816 次
- 性别:
- 来自: 吉林
文章分类
- 全部博客 (624)
- C/C++ (33)
- Java (181)
- 网络相关 (7)
- 我爱篮球 (3)
- 也爱足球 (4)
- 杂谈 (1)
- 系统架构 (3)
- Web Service (14)
- Framework (3)
- 系统命令 (8)
- 管理平台相关 (8)
- 其它 (35)
- Websphere (1)
- Struts2 (24)
- Hibernate (16)
- Spring (23)
- javascript (20)
- jquery (23)
- html/css/div (28)
- 数据库 (40)
- JavaWeb (27)
- 设计模式 (2)
- 文档编写 (3)
- SVN (5)
- Ant (1)
- Maven (13)
- 软件项目管理 (8)
- AOP (1)
- kindeditor (1)
- JSON (2)
- Servlt/JSP (4)
- WordXML (2)
- XML (12)
- 面试相关 (7)
- Tomcat (11)
- 性能与调优 (29)
- 职业发展 (2)
- 操作系统 (7)
- AJAX (2)
- DWR (1)
- Eclipse (12)
- 持续集成 (3)
- 批处理命令 (1)
- Mozilla Rhino (2)
- 新鲜技术 (18)
- Apache mina (2)
- 底层技术 (18)
- Linux (22)
- 新鲜技术,IT历史 (1)
- 敏捷开发 (1)
- 版本控制 (5)
- 较火技术 (7)
- 集群 (2)
- Web前端 (13)
- 报表工具 (3)
- 网站架构 (5)
- 大数据 (8)
- 分布式存储 (5)
- 云计算 (8)
- TCP/IP协议 (1)
- 负载均衡 (3)
- 硬件 (1)
- 表现层技术 (3)
- Velocity (3)
- jvm (6)
- 并发编程 (10)
- hadoop (8)
- 数据结构和算法 (12)
- 计算机原理 (1)
- 测试驱动开发-TDD (3)
- 开发技巧 (1)
- 分词器 (1)
- 项目构建工具 (2)
- JMX (4)
- RMI (1)
- 测试技术 (22)
- 网络完全 (1)
- Git (4)
- apache开源包 (4)
- Java常用 (1)
- mock (2)
- OSGi (2)
- MongoDB (1)
- JBPM (1)
- Storm (3)
- mysql (2)
- telnet (1)
- 正则表达式 (1)
- bootstrap (4)
- Apache ActiveMQ (1)
- redis (9)
- Nginx (2)
- rsync+inotify文件同步 (2)
- testng (1)
- 原型设计工具 (1)
- 工程能力 (1)
- 风险控制 (3)
- ibatis (1)
- 分布式 (4)
- 安全技术 (1)
- 计算机基础 (4)
- 消息中间件 (1)
- UML (2)
最新评论
-
u012236967:
java命令执行jar包(里面的main函数)的方式(包括依赖其它的jar包问题) -
世界尽头没有你:
Selenium自动化测试从入门到精通(Java版)百度网盘地 ...
自动化测试工具 Selenium WebDriver 入门教程(针对主流浏览器) -
小小西芹菜:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
dwr实现Reverse Ajax推送技术的三种方式 -
hellozhouqiao:
楼主,请教一点问题.现在我们需要在excel 的页脚里面加上图 ...
FreeMaker + xml 导出word(处理目录,图片和页眉页脚问题) -
乱在长安:
使用Timer会有各种各样的问题好嘛?!书上推荐使用Sched ...
DelayQueue (ScheduledThreadPoolExecutor调度的实现)
另外,就我个人的一点点经验来看,vs 2005中的C++编译器较VC6.0已经有非常大的进步,同是realse下的一个测试程序,VS2005编译得到的程序的效率比VC6有成倍的提高。进一步性能对比有待测试。不过对比较大型的C++项目来说,vs 2005是个不错的选择。
关于c++的编译器现在有很多,各有所长。不可能每个人都全部用过。
我想统计一下现在的主流编译器都有什么。linux,windows,dos下的什么编译器最流行,也最好!请各位发表意见并给出你所用的编译器的好处。
---------------------------------------------------------------
我主要从事windows下的编程,所以我一般用vc编译,毕竟是当今软件霸主的产品,性能和功能自然不必问了。就是编译速度有点慢。所以我在写小程序的时候有lcc编译器。性能也不错,而且编译速度极快。
还有就是我觉得vc对于初学者来说可能不是好的编译器,因为mfc把所有的程序执行机制都封装在它的类里面。初学者看到其代码可能不明所以然。但是lcc不错,很适合初学者。它是标准的sdk编译器。程序的运行机制和消息处理机制写的非常清楚。
大家见仁见智吧!
我的选择:
WINDOWS首选VC 初学者,小项目用LCC
我主要用这两种编译器,其他的很少用,所以不敢评价。请大家评论。
---------------------------------------------------------------
我这儿有数十种C/C++编译器。
如下:
GCC家族有
Cygwin
Mingw32
DJGPP
Dev-C++(Mingw32)
还有正宗的GNU GCC 2.95.5~3.0.0.4版本
MS家族有
MSC 5.0、6.0、7.0
MSQC 1.0、2.5
MSVC 1.0、4.2、6.0、7.0
Borland家族有
TC 1.0、2.0
TC++ 1.01、3.0
BC 3.0、3.1、4.0、4.5、5.0、5.02
BCB 3.0、5.0、6.0
其它有
Intel C/C++ 5.0
Watcom C/C++ 11.0、11.0c
VectorC 1.3.3
IBM VisualAge for C++
DigitalMars C/C++
KAI C/C++ 4.03f for RedHat 7.2
Lcc4.1
LCC-WIN32 2001-09-25~2002-04-28日版
Small C
CC386
Pacific C
另外还有C的解释器
Quincy
Eic
CINT
上面提到的编译器/解释器,大部分我都使用过。现在固定使用VC7.0 Cygwin Mingw32 VectorC和LCC-WIN32这五种编译器。
在GCC家族中GNU GCC是根本,其它的编译器版本都是从它导出的。其中,Cygwin和Mingw32都是WIN32平台下的编译器,DJGPP是DOS下的32位编译器。大家所熟知的DEV-C++充其量只是GCC的一个外壳,它所自带的编译器就是Mingw32的一个版本。这些GCC的版本中,Cygwin是最大的,它与其说是一个编译器,倒不如说是一套编程工具。它不仅有编译器,还有其它很多的工具。其实,它就是一个UNIX系统在WIN32平台上的实现。实现了大多常用的UNIX工具,最近的版本中连Apache这样的“工具”都集成进来的。不过,Cygwin虽然功能强大,但它却不是很易用(和UNIX相似,熟悉UNIX的人用它可以很快上手),因为太多其它的工具分散了人们的注意力。相比之下Mingw32就要好用得多,它只有最基本的几个编程工具(只可惜它不自带GDB)。GCC中并不只是C/C++编译器,其中还有很多其它的编译器如JAVA,Fortran,ADA等。它是一个编译器集合,不过有些编译器只能在UNIX系统上用。MS家族的编译器就不用说了,大家对它们都很熟悉。VC 7.0(VC.NET)是它的最新产品。Borland家族也不用说,大家也是耳熟能详。最近它才推出了BCB 6.0。
其它的编译器如:Intel C/C++大家一看名称就知道是Intel的东西,它和VC6完全兼容,不过要挂在VC6下才能用。Watcom C/C++是早先编译器四国大战中的一员,原本是很不错的东西,可惜战略不对,现在已不见声息了。倒是以它为基础的一个OpenWatcom现在还在奋战。VectorC是我近日才发现的一个好东东,它是个纯C的编译器。IBM的VisualAge for C++原本是IBM想用来淌C++编译器这片浑水的东西,不过IBM的战略改了,它就被放弃了。DigitalMars C/C++的前身的Symantec C++(它也是编译器四国大战中的一员),不过现在Symantec不做了,于是它的作者就把它改成了DigitalMars C/C++开放给大家使用。以上这些都是WIN32平台上的东西。KAI C/C++是个很强大的C/C++编译器,它是个多平台的编译器。不过现在被INTEL收购了,已经停止开发了。Lcc4.1是个纯C的编译器它是开放源代码的。不过不怎么好用。LCC-WIN32是一个在LCC基础上开发的C语言的集成开发环境,很好用,而且有很详细的资料,FREE!Pacific C是一个纯DOS的C的集成开发环境,就不多说了。Small C CC386都是开放源代码的编译器,它们都很简单,应用来给大家学习编译器的。Quincy Eic CINT都是C的解释器,是用来让大家学习C语言的其中CINT的功能很强大,还支持一些C++的特性。
当然还有很多其它的编译器,这里我给出的编译器都是可以在WIN32或DOS平台上用的(除KAI外)。UNIX平台上的编译器还是以GNU的为主,其它的我就不是很清楚了。
在以上的编译器中,最特别的就是VectorC这个东西只支持纯C。但它却号称是最快的编译器,不过经过我的试验,它的确在有些情况下强过其它编译器很多!而且它还有个交互式的优化器,可以让你直接看到C代码对映的汇编代码。Cygwin和Mingw32为一母所生,其运行效果相差不大。它们生成的代码效率都很不错,编译的速度也很快,最值得一提的是它们对C++的特性的支持算是所有编译器中最完全的,而且它们还支持C99的大部分特性。这一点很是不错!大家对MS的VC已经很熟悉了,本不用我多说。不过在它的最新的产品VC7.0中,有很大的改进。它对C++的特性的支持比6.0有了很大的提高,是我所用的编译器中是仅次于GCC的。而且它编译出的程序,运行速度很快!仅有少数时候次于VectorC与GCC,其它情况都是最快的!其平均运行速度是最快的。对Borland的产品我也无需多说。它的TC2.0与BC3.1都是我最喜欢的东西。可是现在的BCB却大不如前了,编译的速度和VC6一样慢!IDE还有较多的BUG。最令人想不通的是它生成的代码的运行速度很慢,比LCC-WIN32还慢!它唯一值得一提的就是它的RAD做的比MS的好。Intel的编译器大家可能不熟,它太贵了!还要有VC的支持,很不划算,而且编译速度比VC6还慢。不过它的代码质量很不错。DigitalMars C/C++没有什么亮点,编译速度较快,代码执行速度适中,对C++特性支持还算不错。LCC-WIN32是个很不错的集成开发环境,它只支持纯C。它的编译速度极快!代码执行速度较慢。不过它的最大亮点在于它的IDE,在所有的FREE编程工具中,它的IDE是最专业的,有很强大的代码分析,管理功能。而且它提供了大量的编程资料。
我曾对一些编译器的代码执行效率做过一些测试,以下是概况:
1. VectorC、VC 7.0 (极快)
2. Intel C/C++、VC 6.0、GCC (很快)
3. DigitalMars C/C++ (一般)
4. LCC-WIN32、BCB、BC5.02 (较慢)
当然,我所做的测试比较片面。不过在很大程度上已能反映其大概状况。
(我也曾看到过一个测试,其中Intel的编译器是最快的,比VC 6.0和GCC要快10%~50%,而我所测的结果中,GCC >=VC6 >Intel C/C++ )
(以上评论都是个人观点)
发表评论
-
COM(Component Object Model)组件介绍
2013-01-15 17:38 1516COM component(COM组件)是微软公司为了计算机 ... -
scanf的用法
2012-05-31 23:37 1464scanf()函数的用法和实 ... -
定义计算变量相对于结构体偏移量的宏
2012-05-30 22:42 2818#include <stdio.h> #incl ... -
C语言一些有用的宏定义
2012-05-30 22:36 1766C语言宏定义技巧(常用宏定义) 写好C语 ... -
C语言const
2012-05-30 14:35 1259原文地址:http://hi.baidu. ... -
C语言void指针
2012-05-29 09:50 13601.概述 本文将对void关键字的深刻含义进行解说,并 ... -
C语言中#line 宏说明
2012-05-28 09:38 1844c语言里有个很少用到的宏 #line,这个宏通常是和__LIN ... -
C语言中宏的一些特别用法
2012-05-28 09:36 1724转载 C语言中如何使用宏C(和C++)中的宏(Macro)属 ... -
C语言编译执行的全过程
2012-05-28 09:13 1237编译,编译程序读取源程序(字符流),对之进行词法和语法的分 ... -
C++新型头文件与名称空间的作用
2012-05-25 09:06 18691.20 新型头文件与名字 ... -
程序在内存中运行的奥秘
2010-07-01 12:18 1842内存管理是操作系统的核心功能,无论对于开发者还是系统管理员内存 ... -
堆和栈的区别
2010-06-29 10:56 1648栈是随函数被调用时分 ... -
原码,补码,反码(针对byte(128) = -128的问题)
2010-06-25 16:40 4137int a = 128; byte b = (byte)a; ... -
链表常见笔试题
2010-06-25 11:22 3465链表的一些常见笔试面试问题总结及代码 ... -
C与C++中struct的区别,以及C++中struct与Class的区别
2010-06-25 10:44 4195C中struct只可以放成员变量,没有访问权限限制,外部可以访 ... -
C++中的inline用法总结
2010-05-26 22:26 18809inline函数的作用 ... -
C++枚举类型用途及定义详解
2010-05-26 21:14 4579C++编程语言作为一种功 ... -
C++ Template 中的typename、class关键字区别
2010-05-19 19:27 3322在c++Template中很多地 ... -
C++与Java比较(转)
2010-04-30 23:02 4460“作为一名C++程序员,我们早已掌握了面向对象程序设计的基本概 ... -
C/C++编译过程理解
2010-04-30 22:31 2740标准C和C++将编译过程定义为9个阶段(Phases of T ...
相关推荐
常见的C++编译器有: 1. **GCC (GNU Compiler Collection)**:这是一个开源的编译器套件,包含了C、C++、Objective-C、Fortran等语言的编译器。它是Linux和其他类Unix系统上的标准编译器,也可以在Windows上使用...
以下是一些常见的C和C++编译器,我们将从多个维度进行分析: - **TC2.0与TC++3.0**:这些是早期DOS平台下的编译器,由Borland公司出品,虽然功能有限,但在特定环境下仍有其用武之地。 - **Borland C++系列**:包括...
### C++编译器简介 #### 一、引言 C++作为一种强大的面向对象的编程语言,在软件开发领域占据着举足轻重的地位。而C++编译器则是将C++源代码...此外,还介绍了几种常见的C++编译器及其特点,为实际开发提供了参考。
C++编译器是将C++源代码转换为机器可执行代码的关键工具,其开发过程涉及多个复杂的步骤,包括词法分析、语法分析和语义分析。这些阶段都是编译器设计与实现的重要组成部分。 首先,词法分析(也称为扫描)是编译器...
常见的C++编译器有GCC(GNU Compiler Collection)、Clang和Microsoft Visual Studio等。这个迷你型C++编译器可能包含一个轻量级的集成开发环境(IDE),提供编辑、编译、调试等一站式服务,使得编程过程更加高效。 ...
Intel C++编译器是一款由Intel公司开发的专业C++编译工具,旨在为开发者提供高效、优化的编译服务,特别是在高性能计算和科学计算领域表现出色。它支持最新的C++标准,包括C++11、C++14、C++17及更高版本,并且针对...
内容概要:详细介绍了C++编译器优化技术的重要性和常见技术,具体涉及编译器前后端的作用、常量传播与折叠、循环优化和函数内联等方面的知识。 适合人群:面向对性能有较高要求或需要深入理解编译器优化机制的C++...
《哈工大编译原理编译器C++》是一个基于C++编程语言实现的编译器,它涵盖了词法分析、语法分析以及语义分析的关键技术。编译器是计算机科学中的重要工具,其主要任务是将源代码转换为目标代码,以便在不同平台上运行...
《优化 C或C++ 编译器说明.pdf》是一份详细介绍如何针对TMS320C6000系列处理器优化C/C++编译器的用户指南。该文档由德州仪器(TI)发布,版本号为v8.3.x,最初发布日期为2015年7月,并在2023年4月进行了修订。 #### ...
Android系统上的C++编译器是开发者们在移动设备上编写和运行C++代码的重要工具。C++作为一门强大的编程语言,广泛应用于游戏开发、系统级编程和高性能计算等领域。在Android平台上,为了利用C++的性能优势,开发者...
本文将探讨一个基于C++实现的C语言子集编译器前端,该编译器能将特定文法定义的合法源代码转化为四元式,涉及到了词法分析、语法分析以及语义分析的关键步骤。 首先,词法分析,又称扫描或分词,是编译器的第一步。...
以两个常见的C/C++编译器为例: 1. **Visual C++**:假设安装路径为`C:\MSDEV\VC98`,编译器`CL.EXE`位于`BIN`目录下,头文件在`INCLUDE`目录,标准库在`LIB`目录。因此,你需要创建一个批处理文件,设置上述环境...
Visual C++ 6.0 是一款广泛使用的集成开发环境(IDE),它内置了强大的编译器,支持C/C++语言。为了充分利用其性能和功能,了解如何正确地设置编译参数是非常必要的。这些参数可以通过 IDE 的 Project -> Settings -...
### Linux下的C++编译器GCC简介 #### 一、GCC概述 GCC(GNU C Compiler),作为GNU项目的重要组成部分之一,是由自由软件基金会推出的多平台编译器工具链。它支持包括C、C++在内的多种编程语言,并且能够在不同的...
这个 GCC 编译器对于需要 C 或 C++ 编译器的其他 MathWorks 产品也很有帮助。 R2015b、R2016a、R2016b 和 R2017a 的说明: 完成错误报告中的解决方法说明,然后按照以下说明操作,适用于 R2017b 及更高版本。 ...
常见的C++编译器有GCC(GNU Compiler Collection)、Clang、Microsoft Visual C++等。 Dev-Cpp是一个集成开发环境(IDE),它包含了一个C++编译器,方便程序员编写、编译和调试C++代码。在本例中,提及的文件"Dev-...
### C与C++编译器参数详解:GCC与G++ #### 概述 GCC(GNU Compiler Collection)是GNU项目下的一个编译器集合,其中包括了C、C++、Objective-C等语言的编译器。而G++是GCC的一个组成部分,主要用于C++语言的编译。...
### Linux系统上C/C++编译器gcc/egcs详解 在Linux环境下,GCC(GNU Compiler Collection)作为一套重要的开源编译器集合,为开发者提供了强大的C和C++语言支持。GCC不仅支持C语言,还支持C++以及Objective-C等多种...
最常见的C++编译器有GCC(GNU Compiler Collection)和Clang。在命令行环境下,我们通常使用g++或clang++命令来编译和链接C++程序。例如,编译一个名为`main.cpp`的源文件,可以输入: ```bash g++ -o main main....