免费C/C++编译器

不好意思,等到现在才想到要写这篇文章。怎么说呢?情况是这样的,刚开始我学习C语言时,是想在机器上安装visual c++的,因为Turbo C太古老了,用起来不方便,所以很自然地想安装vc++。不过不知道大家有没有发现vc很大,而且有些机子就是安装不成功,不知道是不是版权问题。我的机子也不例外,两台都安装不了。但是又不想用TC,怎么办呢?很有幸的,我当时在百度的某个有关编程的贴吧里看见一个帖子,推荐大家使用免费编译器。于是乎,我下载了MinGW Developer Studio,而且从那开始到现在,我一直用它。感觉用起来挺好的,占用空间也小。不过要提醒一下大家的是有些头文件它是不支持的,所有有些windows函数是用不了的,而且它使用的是G++标准,大家在编写代码时也要注意。

我在这里写这篇文章,主要是想给初学者一些指导而已。希望能对大家有所帮助,还有,o(>﹏<)o不要再只知道安装VC了。。。。。。

PS:在使用MinGW时,有一个问题,需要引起大家的注意,那就是当你编译的程序代码比较长而且该代码是第一次编译(修改后再编译也算)时,编译用时会延长,而在此期间,屏幕上弹出的黑框里暂时只会显示一个光标而已,此时你按任何键它都不会有反应。那么这个时候该做什么呢?一定要耐心等它编译完,然后它才会让程序正常执行。如果在此期间你强制关掉了它,那么下次就无法再编译该文件了,编译器会报错。如果你还想编译它,就必须另开项目文件夹,重新建立文件再编译,当然,还是要耐心等待。

(以下系转载)

您所在位置:编程爱好者网站 — 编程爱好者论坛 — C/C++编译器的选用
原帖地址:http://bbs.pfan.cn/post-292318.html

主题:C/C++编译器的选用 作者: Chipset      发表时间:2009-1-2 14:15:00

楼主  

特别说明:

鉴于时不时的有人问关于用什么编译器的问题,我翻译了Bjarne Stroustrup主页上compilers栏目的一篇文章,希望对大家有点指导意义。

这个翻译稿的粘贴过程中失去了所有超级连接(pfan提供的编辑功能不够好),我只好另外在旁边附加上,抱歉。

另外,为了避免重复发贴,我把本站sarrow原来的相关文章也复制过来,供彷徨中的朋友参考。


一个C++编译器的不完全列表
                                                              2008年11月18日更新

我(Bjarne Stroustrup  http://www.research.att.com/~bs/homepage.html) 常常被提问建议的C++编译器,但是我不做建议,因为那样看起来很像站在商战的某一边。况且,我并不了解每一个C++编译器,仅仅知道C++编译器多如牛毛而已。一般而言,我使用半打(6个)编译器,但这充其量也仅仅不过是表面文章而已。

我建议人们选用一个编译器时认真考虑它跟标准的一致程度。如果可能,避免使用任何不太符合ISO标准或者不支持标准库某项实现的编译器。所有主要C++编译器供应商的最新版本都做得不错。
如果你是新手,不知道怎么识别一个编译器是否合适,试试编译下面这个程序: 

#include<iostream>
#include<string>
using namespace std;

int main()
{
   string s;
   cout << "Please enter your first name followed by a newline\n";
   cin >> s;
   cout << "Hello, " << s << '\n';
   return 0; // 该返回语句可以不要
}


如果一个编译器不能处理这么简单的程序,那它不适合用来学习标准C++。(如果你剪切和粘贴以上代码,小心#include 指令后的”小于号”). 

尽管现在这些细节问题早已经陈旧,这里有一篇很长的文章论述一致性问题  http://www.cuj.com/roundup/a.htm和boost.org'的编译器状态页  http://www.boost.org/status/compiler_status.html。一致性仅仅是编译器质量的一项指标(产生代码质量、出错信息、编译速度、跟开发工具集成、支持程度、向后兼容这些都是其他衡量指标),不过一致性很重要的一项。使用某供应商的语言扩展特性和非标准特性限制了你的代码可移植性而且妨碍你选择一个新供应商的产品。

大多数编译器内嵌在软件开发工具框架和库里面。这些框架、环境和库对你可能非常有用,但是记住使用它们会把你锁定到单一供应商,而且一些应用存在严重的运行性能问题。
当在网上寻找C++的时候,你会发现很多信息”隐藏”在各自产品下面。事实上,我用google.com寻找C++编译器比直接联系C++编译器供应商更方便。在此,忽略市场商标,我列出很多C++编译器的提供者。


一些编译器可以免费下载(尝试商业应用前要看看他们的条件/许可证): 

Apple C++  http://developer.apple.com/tools/macosxtools.html. OS X开发工具CD上也有。

Bloodshed Dev-C++  http://www.bloodshed.net/devcpp.html. 一个基于GCC(Mingw)的IDE. 

Borland C++  http://www.borland.com/downloads/download_cbuilder.html

Cygwin (GNU C++)  http://www.cygwin.com/

Digital Mars C++  http://www.digitalmars.com/ 

MINGW - "Minimalist GNU for Windows"  http://www.mingw.org/. 另外一个GCC for Windows版本,包含了一个免费的(非GPL)w32api。

DJ Delorie's C++ development system for DOS/Windows (GNU C++)  http://www.delorie.com/djgpp

GNU CC source  http://www.gnu.org/software/gcc/gcc.html 

IBM C++  http://www-949.ibm.com/software/rational/cafe/community/ccpp 用于IBM power, System Z, Bluegene, and Cell. 

Intel C++  http://www.intel.com/software/products/compilers/clin/noncom.htm for linux 

The LLVM Compiler Infrastructure  http://llvm.cs.uiuc.edu/(基于GCC). 

Microsoft Visual C++ 2008 Express edition  http://www.microsoft.com/express/vc

Sun Studio  http://developers.sun.com/sunstudio



一些编译器需要支付费用(有些允许试用期内免费下载):



Borland C++  http://www.borland.com/bcppbuilder/

CodeWarrior C++  http://www.metrowerks.com/products/macos/ (正式名字是Metrowerks),支持很多平台

Comeau C++  http://www.comeaucomputing.com/支持很多平台

Edison Design Group C++ Front End  http://www.edg.com/cpp.html - 很多C++编译器公用商使用它  http://www.edg.com/resellers.html

Green Hills C++  http://www.ghs.com/products/optimizingC++EC++Compilers.html用于很多嵌入式系统平台

HP C++ for Unix  http://www.hp.com/go/cpp/和HP C++ for OpenVMS  http://h71000.www7.hp.com/commercial/cplus/cplus_index.html.

Intel C++  http://www.intel.com/software/products/compilers/支持Windows, Linux, 和一些嵌入式系统

Mentor Graphics/Microtec Research C++  http://www.mentorgraphics.com/embedded/compilers/index.html用于很多嵌入式系统平台

Microsoft C++  http://msdn.microsoft.com/visualc

Paradigm C++  http://www.devtools.com/, 用于x86的嵌入式系统

The Portland Group C++  http://www.pgroup.com/prodworkpgcc.htm(用于奔腾架构处理器的并行) 

SGI C++  http://www.sgi.com/products/software/irix/tools/c++.html, 优化编译器

Sun C++  http://www.sun.com/forte/cplusplus/index.html

WindRiver's Diab C++  http://www.windriver.com/products/, 很多嵌入式系统使用。 


对于我而言,让该列表完整和保持最新状态不太可能。C++世界太大,新东西出现太快。对于那些我未能列出来的供应商表示歉意,我知道会有一些,如果你有一个连接并认为应该在此列出来的话,请给我写信:bs at research.att.com。再次重申:我仅仅列出编译器,我并不是赞成它们。而且对于每个人而言,没有哪种编译器最好,不同的人有不同的需要。


C++编译器的其他列表: 

The open directory project  http://dmoz.org/Computers/Programming/Languages/C%2b%2b/Compilers/

Compilers.net  http://www.compilers.net/Dir/Free/Compilers/CCpp.htm: 免费的C和C++编译器列表。 

一个过滤器可以用来改善很多编译器的错误信息,见STLfilt  http://www.bdsoft.com/tools/stlfilt.html



sarrow朋友关于 <<免费的C/C++集成编译环境(IDE)>> 的文章摘录如下:


连接:http://bbs.pfan.cn/post-204274.html
更全的列表以及下载链接见:

     http://www.compilers.net/Dir/Free/Compilers/CCpp.htm

题头:

   献给为编译环境而烦恼的同志们。


正片开始:

Dev-C++
本软件就不用说了,这是pfan论坛上的首选IDE环境;他默认安装minGW作为编译器——就是windows化了的GCC编译器。版本应该是3.4;

由于其编辑器使用简单,而内核gcc3.4对c99和c++2003的支持度都比较高,所以,这个软件比较适合标准C/C++初学者!除了支持外部库,Dev-C++还支持自己的开发包,你可以从升级“包”这个功能上获得许多有用的东西;

你可以在http://www.bloodshed.net获得它的下载。

WxDev-C++

不知道是英雄落幕还是怎么的?Dev-C++已经停止更新了!最新的版本应该是4.9.9.2——不更新,这个就计较郁闷了!不过,另一波人把这个项目接了过来,在Dev-C++的基础上添加了很多的东西,比如RAD工具(就是像VB那样,能快速通过拖拉就可以做win32程序界面的工具),还修改了前作 Dev-C++的一些bug。

还有就是它兼容vc6、vc7、vc8的工程设置——就是说,vc6、vc7、vc8的工程可以照搬到WxDev-C++下来使用!

当然,最大的好消息,就是,这么好的工具竟然也是免费的!

下载:http://wxdsgn.sourceforge.net/


Code::Blocks

这个有着怪名字的东西,是个比较新的免费IDE,当前是面向C/C++使用而开发的工具;注意,这个是开源跨平台的哦!这个软件是用插件式构架的,那么这个软件就设定成可以非常的个性化!

由于它支持多编译器,所以,它没有默认绑定编译器;由于它支持的编译器比较多,我就挑点讲:
minGW的GCC编译器、vc7还有vc8以及Borland C++ 5.5;

下载:http://www.codeblocks.org/


Ultimate++

这个软件也式跨平台的——就我看来,其最大的特点,就是有自己的GUI库!

下载:http://www.ultimatepp.org/index.html


Eclipse

这个巨大的东西,也是跨平台的——不过这个东西太大了点,我也就不说了——不符合简单易学的规则。

下载:http://www.eclipse.org/


VC

最后,哈哈,因为个人的原因,我把Microsoft公司的VC产品放在最后。VC6、VC7、VC8者是当前还活跃的3个ms的C/C++编译环境——不过可惜的是,他们都不是免费的!
在这里提VC的原因呢,有两点:

1. 虽然他们不免费,不过,在中国来说——等于免费,原因吗?大家心知肚明,我就不说了!

2. MS不提供大餐,甜点还是有的:
Microsoft Visual C++ Toolkit 2003
这个编译工具包——免费!
然后Microsoft Visual C++ 2005也有一个免费版!当然不是全功能的,不过对于初学者,也是够用了!



尾声:

对于NB的人来说,有没有IDE都一样!IDE只是快速开发的工具而已!

这里,我要说说为什么把ms公司的VC系列放最后的原因:竞争才有进步,而ms的公司的策略,就是只让自己独活;像VC系列IDE这样大包干的做法,我是认为不正确的——一个把更多的选择权留给使用者。


我(Chipset)使用C/C++编译器和IDE的历史:

我个人只用过少数几种编译器和IDE,简单描述一下感受。

1、VC++6.0 + SP6
这个IDE在Win32上很流行,尤其在恋古情节和盗版盛行的中国教育界。
VC++6.0对C90标准支持的不错,但是对C99和C++98都支持的很弱。VC++6.0本身的bug非常多,不过调试功能相当不错,可惜这点长处对我来说基本没有什么意义,因为我从来不用调试器。
VC++6.0的缺点非常明显,主要是库函数很多错误,存在严重问题,由于97年底竣工,不支持C99和C++98,不过我们不得不承认VC++6.0 + Windows98系统简直是C程序员的绝配。

如果您对VC++6.0仍旧情有独衷,迅雷搜索一下,有很多下载地址。


2、Dev C++ 4.9.9.2
说真的,这是一款非常好的IDE,内嵌gcc编译器(含g++3.4.2),体积小,安装完毕就50MB的空间,对C99和C++98/03支持都很好,而且可以编写Windows程序,在Win32平台上尤其适合初学者。缺点是升级困难,因为它06年后已经不再升级,不过令人欣慰的是WxDev-C++继承了它的脚步。


3、VS2005
这是一款重量机的IDE(内嵌多种编译器,包括MS C++8.0),在硬盘上安装后肯定上1GB,体积庞大,即使你单独安装.net框架 + 全局搜索环境 + VC++8.0体积也不会下1GB。但是功能确实强大,基本上一应俱全,可以编写C/C++/Win32/MFC/ATL等各种应用程序。调试功能十分强劲,很明显,比VC++6.0无论从体积上还是库的全面上都有质的飞跃。如果你是C++初学者,我并不建议你使用它,因为实在太大了,而且对纯C++程序的编译能力略逊于Dev C++ 4.9.9.2(g++3.4.2),生成代码质量不及Borland C++。

4、Intel C++9.1/10.020
必须把Intel C++编译器集成到VS2005中使用(您可以想想体积多么庞大),否则没有办法安装。尽管Intel C++编译器编译优化后生成代码质量更高,而且可以导入Visual Studio的工程,但我仅仅用于测试,我仅仅用命令行编译(您也可以用IDE编译和调试),后来挥泪卸载了它。

5、Code::blocks8.02+MinGW(gcc3.4.5)
我不得不说,Code::block8.02简直就是一款划时代的开源IDE,除了支持多种平台,几乎可以满足最苛刻的商业应用,支持10多种编译器,支持VC++工程、Visual Studio工程和Dev C++工程导入。配合gdb调试器,调试功能也很丰富,调试功能略逊色于Visual Studio系列,但是个性化十足,支持添加各种组件开发,例如QT,wxWidgets等等,只要您能想像的出来,google一下几乎都能找到怎么添加。如果您是初学者,鄙人强烈建议你选用这款Code::blocks8.02+MinGW(gcc3.4.5),因为它体积不太大,安装后大约100MB而已,就算您懒得添加组件,也能开发C/C++/Win32应用程序,而且对C90/99, C++98/03支持都很好。

6、Code::blocks8.02+gcc4.3.2+boost1.37
这个我就不说了,本站有我的一篇文章讲述安装配置的,详细的情况见我的博客。

7、gcc4.3.2(Linux)
gcc编译器不仅仅用于PC也可以用于嵌入式系统和服务器级别的C/C++程序编译,配合Open MP可以开发编译并行程序,用于高性能计算。使用Linux系统和Unix系统的朋友不少选gcc做C/C++编译器。

作者: zhaoyg      发表时间:2009-1-2 15:15:00

 第1楼  

UP

作者: Chipset      发表时间:2009-1-2 15:34:00

 第2楼  

我用过不少编译器和IDE,但是不建议TC和TC++,Win-TC。

作者: zhaoyg      发表时间:2009-1-2 15:38:00

 第3楼  

Code::blocks8.02
不错是不错,但调试不方便,不如VC好。
还有,启动速度慢(关闭倒是挺快的)。

作者: Chipset      发表时间:2009-1-2 15:45:00

 第4楼  

引用: Code::blocks8.02
不错是不错,但调试不方便,不如VC好。
还有,启动速度慢(关闭倒是挺快的)。


VC启动快的原因是因为缓存(首次使用的时候另外开辟一块空间,然后该空间始终存在),Dev C++首次启动会询问你是否这样做,如果你确定,那么后来的启动就会快,编译也会快。Code::blocks第一次启动的时候不提示这样做,但是如果你希望编译的快,却可以设置相应选项,如果你希望以后启动的快,可能进入后也有该选项可以设置,否则建议Code::blocks开发团队加入此选项就是了。

作者: zhaoyg      发表时间:2009-1-2 15:58:00

 第5楼  

原来如此。
thanks

作者: zhaoyg      发表时间:2009-1-2 16:00:00

 第6楼  

还有,不要再给我加分了,如果不是考试成绩的话!!!

作者: sarrow      发表时间:2009-1-2 16:51:00

 第7楼  

UP

关于这一点,俺没啥可再说的了。

提一下另一个:学习目标的问题。

俺推荐:

嵌入式和游戏

原因:智能电子产品的小型化、普遍化是大势所趋——嵌入式学习,绝对没错!

玩耍是人类的天性——其内涵可以映射为原始冲动、求知欲等等欲望,而电子游戏则是上述的虚拟平台,因此,游戏设计永远不会过时!

作者: Chipset      发表时间:2009-1-2 17:36:00

 第8楼  

引用: ...而电子游戏则是上述的虚拟平台,因此,游戏设计永远不会过时!


不错,但是设计游戏很大程度上是思想,而不是技术问题,多数人没有这个思想。

作者: yjypm8460859      发表时间:2009-1-3 13:02:00

 第9楼  

引用: 
智能电子产品的小型化、普遍化是大势所趋——嵌入式学习,绝对没错!

嵌入式对模电与数电的要求如何,关于这两门课我的理解是只要简单原理理解,不考虑细节,比如我不会出分析其复杂的电路图(因为水平有限,哈哈),只需对一些常用电子元器件的作用的了解即可,如一些引脚的功能的熟悉。
   不知能否如此,望指正!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Matlab进行SVM编程时,需要选择并配置C/C++编译器。具体步骤如下: 1. 首先,确保你已经安装了C/C++编译器。根据引用中的描述,你可以安装Visual Studio。请注意,不同版本的Matlab兼容不同版本的Visual Studio,因此你需要选择与你的Matlab版本兼容的Visual Studio。 2. 安装完Visual Studio后,你需要确保Matlab能够找到C/C++编译器。你可以通过在Matlab命令窗口中运行命令“mex -setup -v”来查看Matlab所兼容的编译器版本。根据引用中的描述,你应该能够看到Matlab兼容的Visual Studio的版本信息。 3. 如果Matlab没有找到C/C++编译器,你可以尝试设置环境变量来指定编译器的位置。根据引用中的描述,你可以使用命令“setenv('MW_MINGW64_LOC','C:\TDM-GCC-64')”来设置MinGW编译器的位置。然后,运行命令“mex -setup”来配置使用C/C++编译器。 4. 最后,确保你已经将SVM程序包保存在Matlab的toolbox目录下。根据引用中的描述,你可以将程序包中的内容保存在matlabToolbx的目录下,并在Matlab命令窗口中运行命令“make”来编译程序包。 总结起来,你可以按照以下步骤来选择和配置Matlab的SVM C/C++编译器: 1. 安装与你的Matlab版本兼容的C/C++编译器,比如Visual Studio。 2. 运行命令“mex -setup -v”查看Matlab所兼容的编译器版本。 3. 如果Matlab没有找到编译器,你可以尝试设置环境变量来指定编译器的位置。 4. 将SVM程序包保存在Matlab的toolbox目录下,并运行命令“make”来编译程序包。 希望以上信息能够帮助你选择和配置Matlab的SVM C/C++编译器。如果你需要更多帮助,请告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值