Windows下几款免费C/C++开发工具简介
我相信作为编程初学者,我们都希望有好用的编程软件。这里"好用"应该至少要满足两点:1.安装简单,2.使用方便。
大神移驾,对工具有特殊偏好跳过,从来不用Windows的止步。本文不做任何"推销活动",诸君自行决断。
前传
记得刚学C++时,用的是老师给的一个VC6.0的安装光盘镜像。后来发现了一个番茄插件(Visual Assist X),用的很爽。随后又发现,每次系统重装(或者还原)后番茄就不能用了,不得不重新装一遍VC6。装了多次VC6.0(那时也经常帮同学装)发现,VC6.0在win7上安装有个问题——在跳出安装进度后,你不能将鼠标点到其他窗口,或者将其他窗口切换到顶层,否则会出现"安装程序无法响应"的现象。当时以为是老师给的那个版本才有的问题,在网上有下了其他版的VC6,发现有同样的问题,每次下载还要担心各种"绿色版""破解版"是不是有毒。
就在那之后不久,我在《数据结构课程设计案例精编》上看到了一篇精彩的序言(可惜没有在网上找的该文,不然,必定转载于此),其中的一节"应当使用什么开发环境?"简要介绍了Visual C++系列,Borland C++ Builder,GNU C++的各自特点,并做了简单对比。
,现在2013都已经发布了。该书在介绍基于GNU C++编译器时,提到的Dec-C++还是那个停了很久的4.9.9.2,现在Dev-C++最新版也不再是从Blood软件网站www.bloodshed.net上下载了,在wikipedia上能看到对它的介绍有"从 2005 年 2 月 22 日开始至2011年6月, Dev-C++ 的官方网站一直没有再发出新消息或是释放新版本,说明Dev-C++的开发已经进入了迟滞状态。2006 年,Dev-C++主要开发者 Colin Laplace 曾经对此作出了解释:"因忙于现实生活的事务,没有时间继续 Dev-C++ 的开发。""不过现在的Orwell Dev-C++已经跟上了:https://sourceforge.net/projects/orwelldevcpp/
该书介绍的MinGW Developer Studio也有类似的境遇:"Unfortunately MinGW Developer Studio has not been under development since 2005 and the official website has been down since 2008. The MinGW Compiler shipped with the IDE has become really outdated and working download links for MinGW Developer Studio are hard to find."
所以,虽然作者的文笔不凡,但是现在看来也没有转载的必要了。
Visual C++ 2008 Express
好了,废话一堆,开始正题吧。现在的C/C++编译器基本上是Microsoft(以下简称MS),Intel,GNU,LLVM这几大门派,其中MS,Intel是收费的。在Windows上当然是微软的一家独大了,Intel,LLVM(Clang)都可以以插件的形式安装到Visual Studio中。微软Visual Studio 现在分好几个版本,有Express,Professional,Premium,Ultimate。其中Express可以从官网免费下载、使用,对应个人学习,Express版已经足够;Professional版现在对学生老师也是也可以免费下载,只需要通过edu域名的邮箱在DreamSpark上注册个用户就可以了。
我的机器上安装了VC2008 Express,启动速度要比Visual Studio 快很多,下载链接:http://msdn.microsoft.com/zh-CN/express
就调试C++代码来说,VC是最好用的,因为它的调试功能针对STL做了优化,比如:
好处:文本编辑、编译、调试 一条龙服务。
缺点:要"创建项目->添加文件…"(也不算是缺点)
重装系统后就不能用了,要重新安装(对于经常折腾自己电脑的人来说是缺点:-D)
GCC based IDE
也可以选择几种免费的IDE方案:
Eclipse+CDT+GCC
Eclipse本身是java软件,所以你要使用Eclipse必须先安装JRE或者JDK,Eclipse和JRE/JDK都可以从它们的官网免费下载(没有安装的同学自行百度)。Eclipse官网有多种版本的Eclipse,不过它们并无太大区别,只是安装的插件不同罢了。如果只用它写C/C++代码,可以下载C/C++版(打包了CDT)。
CDT((C/C++ Development Tooling)
如果你下载的不是C/C++版的Eclipse,则要自己下载CDT。可以用Eclipse的菜单安装:Help->Install new software。也可以到官网下载,再解压到Eclipse根目录。
CDT安装后,Eclipse的file->new就能创建C++项目了。不过CDT自动扫描PATH时必须保证你的%TDM-GCC%\bin下有make程序,你可以把TDM-GCC\bin下的mingw32-make.exe复制一份为make.exe,CDT应该就能自动扫描出对应的include目录了。
同样调试刚才那段VC2008下的代码:
可以看到,Eclipse的调试功能并没有特殊对待vector。
优点:
跨平台,Eclipse可以在各种系统上运行(只要有JRE)
通用,Eclipse还可以开发java,python等等语言
缺点:
启动慢,Eclipse是"插件式"的
有点卡,Java应用,当然没有原生应用跑的顺
Dev-C++
现在Dev-C++已经不属于当年的Blood软件了,你可以到sourceforge上免费下载:http://sourceforge.net/projects/orwelldevcpp/
默认是会连同TDM-GCC一同下载的。
再来调试一下:
很明显,比Eclipse还要弱,只能看到基本的一些信息,不能展开。
优点:
轻量,一共40+M(包括TDM-GCC在内)
启动快,软件小肯定启动得快了
缺点:
调试功能相对较弱(不过没太大影响)
Code::Blocks
Code::Blocks是The open source, cross platform, free C, C++ and Fortran IDE.
尽情下载:http://www.codeblocks.org/downloads
也来调试:
很明显Code::Blocks的Watch窗口也对STL容器做了优化。
优点:
跨平台,打的就是Cross Platform旗号
代码提示功能较强,"谁用谁知道"
缺点:
暂时没发现(我没怎么用过)
DIY--Do It Yourself
我更多的时候会写一些练习性的代码,他们通常只有一个文件(或是很少的几个)。在各种IDE下编译这种代码前,你都要先"创建项目",在一步步添加源码文件,这总让我不厌其烦;尤其是在一个源文件就能搞定的时候。
于是,我选择了更轻量的方案——Tdm-gcc & Notepad++
TDM-GCC and Notepad++
更多的时候会我会用notepad++来写一些练习性的代码,这种代码通常只有一个源文件,要用VC2008Express的话还是要"新建->项目->xxx",很麻烦。这时更适合用TDM-GCC & Notepad++:
TDM-GCC是GCC的windows版,官网http://tdm-gcc.tdragon.net/ ,现在的版本是GCC 4.8.1,GCC的最大好处是跨平台(当然还有免费:-D)。默认情况下,安装好之后,PATH下能够找到%TDM-GCC%\bin,也就是可以在cmd里使用gcc,g++命令。(安装TDM-GCC过程中有一个默认会选中的"将TDM-GCC的bin目录加到PATH变量"的复选框,不要取消它。如果取消了也没关系,可以右击"计算机"->"属性"->"高级系统设置"->"环境变量",找到PATH,双击,再最后加上%TDM-GCC%\bin,%TDM-GCC%是你的实际安装目录)
Notepad++(以下简称npp)是一款开源的文本编辑器(也是免费的:-D),官网http://notepad-plus-plus.org/ ,支持语法高亮,单词函数自动完成等功能,值得推荐。
另外npp支持快捷键设置,我设置了Ctrl+Shift+C为"open current dir cmd",这样我在写好并保存一个源文件后,就可以很方便打开控制台(Console)窗口并用gcc编译运行了。不用再IDE上创建Project,再添加源文件,再点编译运行神马的。
上图:
优点:轻量(下载快),Notepad++不到6M,TDM-GCC 64位的也不到40M
方便,打开就能写代码(不必新建xxx,再建xxx)
重装后还能用,(安装的时候有个选项,"Don't use %AppData%"建议勾选,勾选后你的设置会保存到安装目录)当然,前提是你不要安装到C盘
设置灵活,插件众多
(这一方案也是我的最爱)
缺点:命令行编译(也不能算缺点)
Vim & gcc
据说vim是一款"神的编辑器",我抱着试试看的心态装了一个:
个人认为vim的好处是——可以在只有命令行环境的情况下工作,比如ubuntu server。
当然,还有跨平台!
还有就是配置和插件。
我也下了emacs,没怎么用,想用的同学可以参考http://wangheng.org/html/emacs.html
由于用过一段时间的vim,一时不能习惯emacs那么多快捷键,不过emacs的配置lisp语言,要比vim的配置脚本强大很多
npp也好,vim也罢,不管怎么说,它们只是编辑器
其他免费软件
当年的Borland C++ Builder,也改旗易帜了。他们的IDE产品是收费的,但编译器(console only)可以免费下载(freecommandLinetools.exe)
好了,今天的节目就到这里,下次节目再会!
Windows下几款免费C/C++开发工具简介的更多相关文章
- Windows下6款实用软件(强烈推荐!)
Windows下6款实用软件 1.notepads Notepads作为一款编辑器,美观.轻量,功能强大,支持多标签页.Markdown.日常文本编辑.查看,Notepads轻松胜任,如果厌烦了Win ...
- windows下使用vs进行Proctocol Buffer开发(C++篇)
因工作原因接触Proctocol Buffer(protobuf),至于什么是protobuf,为何使用protobuf,我就不赘述了,百度下都是答案. 今天我介绍的是在windows下使用vs进行p ...
- Windows下visual studio code搭建golang开发环境
Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...
- 在 Windows 下用 TDM-GCC(MinGW)开发 DLL 涉及到数据同步锁及 DLL 初始化终止化函数的问题
在 Windows 下用 TDM-GCC(MinGW)开发 DLL 如果要用到数据同步锁,理论上可以采用 Windows API 提供的临界区实现(需要用到的函数有 InitializeCritica ...
- windows下运行的linux服务器批量管理工具(带UI界面)
产生背景: 由于做服务器运维方面的工作,需要一人对近千台LINUX服务器进行统一集中的管理,如同时批量对LINUX服务器执行相关的指令.同时批量对LINUX服务器upload程序包.同时批量对LINU ...
- windows下 安装gitlab及其相关图形管理工具
windows下 安装gitlab及其相关图形管理工具 在windows下安装git中文版客户端并连接gitlab 下载git Windows客户端 git客户端下载地址:https://gi ...
- python 开发工具简介
一.python 开发工具简介 1.IDLE IDLE是开发python程序的基本IDE(集成开发环境),具备基本的IDE的功能,是非商业Python开发的不错的选择.当安装好python以后,IDL ...
- windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境)
推荐几款一键快速搭建PHP本地运行环境的好工具(含php7.0及apache,nigix,mysql) 首推phpstudy2016和wampServer3.0.6 理由支持php7.0 目前 ...
- Windows下用Eclipse搭建C/C++开发环境
本文假定你已经熟悉Java,Eclipse的安装,并能顺利启动和运行Eclipse.此外因为各软件版本在不断更新,有些地方可能不准确,以最新的.原文资料为准. 距上一次写和调C++程序,已经5.6年了 ...
随机推荐
- 淘宝WAP版小BUG分析
前几天发现的一个淘宝WAP版的小BUG,就是用桌面版chrome看的时候产品评价中的图片显示不出来,都是图裂了. 这是什么原因呢?图片为什么会显示不出来呢?淘宝的技术人员.测试人员不可能没发现啊.开启 ...
- 如何在个人博客引擎 Hexo 中添加 Swiftype 搜索组件
在您现在看到的我的博客站点,后台使用的是 Hexo 作为博客引擎,但是默认集成的搜索组件是进行 form 提交到 Google 进行搜索的,为了更好地体验,本文介绍如何在 Hexo 博客中集成 Swi ...
- Cocos2d-x 3.X 事件分发机制
介绍 Cocos2d-X 3.X 引入了一种新的响应用户事件的机制. 涉及三个基本的方面: Event listeners 封装你的事件处理代码 Event dispatcher 向 listener ...
- poj 3680 Intervals
给定N个带权的开区间,第i个区间覆盖区间(ai,bi),权值为wi.现在要求挑出一些区间使得总权值最大,并且满足实轴上任意一个点被覆盖不超过K次. 1<=K<=N<=200.1< ...
- hoj 2634 How to earn more
有m个项目和n个员工,做项目i可以获得Ai元,但是必须雇用若干指定的员工.雇用员工j需要Bj元,一旦雇用便可以参与多个项目.问最大收益. 1<=M,N<=100. 最小割. 源点向每个项目 ...
- easyUI 中datagrid 返回列隐藏方法
easyui的datagrid方法返回的列,有的值不需要显示可以使用hidden(属性进行隐藏) columns : [ [{ field : 'bailClass', title : '类别', w ...
- 【转】JavaWeb MVC
-------------------------------------------------------------------------------------------------- 1 ...
- 广播接收者Receiver
一,动态创建网络状态监控 思路: 1:需要注册一个广播接收者,registerReceiver()需要两个参数 public Intent registerReceiver( BroadcastRec ...
- Sql Server 分区演练 【转】
Sql Server 分区演练 [转] 代码加注释,希望对初学者有用. USE [master]GOif exists (select * from sys.databases where name ...
- mac系统小记
1.设置 ls 命令结果的颜色 默认的 ls 是没有颜色的,可以通过设置 CLICOLOR 和 LSCOLORS 两个环境变量来实现.其中,CLICOLOR 是用来设置是否进行颜色的显示(CLI: ...