Dev-C++,Time to say goodbye ?(更新2012-02-04)

2023-10-12 16:10
文章标签 c++ 02 更新 2012 04 say dev time goodbye

本文主要是介绍Dev-C++,Time to say goodbye ?(更新2012-02-04),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

那段使用Dev-C++的日子

  记得在那段很久以前的学生时代,自己曾经很反感Visual Studio的过度臃肿,再加上当时学校的实验PC陈腐老旧:经常假死的Windows 2000,外加日渐古稀的Visual-C++ 6.0,以及一些不知何处而来的过时病毒,这般情景一度令当时我痛苦难耐,心想:写一个

  std::cout << "Hello,world\n";

真有这么费时费力吗?

  直到那一天,我与Dev-C++偶遇的那一天……

  我是如何得知Dev-C++的,我已记不太清,只记得当时非常惊讶于他的小巧:整个安装包竟然总计只有10M字节,而与之对应的VC++6.0却有近1G的身材,光这点便着实令当时的我费解不已,心里不住的琢磨:这玩意到底行是不行……?

  一开始自己尝试使用时确实不是非常舒服,譬如关于main函数的写法Dev-C++(准确的说应该是gcc)会强制你写成:

  int main( void ) 

  {

      ......

      return 0;

  }

  或者

   int main( int argc, char *argv[] ) 

   {

       ......

       return 0;

   }

  而VC++6.0则相对宽松,main函数有无返回值都没有什么警告错误,当然类似的差异还有很多,不一而足,所以Dev-C++曾令当时散漫的我颇不适应,不过还好,随着时间的推移自己慢慢适应了规范的写法,也渐渐发现其实Dev-C++才是一款正确的学习规范C/C++语言的工具(VC++6.0C/C++标准的支持实在不是很好……),以致到后来我基本上忘却了VC的存在,一心一意用起了Dev-C++……

  记得当时我的所有练手程序(大部分基于Console)都是使用Dev-C++,偶尔的一些图形界面程序也是基本使用Win32 API来完成(当时还不甚了解Qt之类的界面库),虽然效率效果都比较差劲,但是却也乐于自己得到的那份自由舒畅~~~~~~

  可惜精致小巧终归会带来一些弊端,一方面由于后期Dev-C++已基本不再更新,导致很多遗留的BUG都不能及时修复,二来由于Dev-C++开发的年代较早,一些目前已经算作普通功能的特性(譬如语法自动补全),Dev-C++对他们的支持也是非常有限,三者也因为Dev-C++的小巧,其基本只提供了一些普通的代码编辑功能(有些还不是特别有用),有时确实比较影响开发效率……

  因为种种的原因,自己自工作以后,便也渐渐的与Dev-C++疏远,Win32平台上用的最多的、也渐渐觉得最方便的还是VS(继VC++6.0之后,VisualStudio的确在C/C++标准支持上面做了不少改进),如果非要使用其他的一些较小型的IDE,我也基本不会选Dev-C++了,最重要的一条理由便是Dev-C++现存的很多调试功能Bug,就这点确实令人避其不及……

  近来听说Dev-C++终于又放出了更新的版本(目前好像已经到5.0.0.4),虽然不是原作者发布的,但是也着实令人兴奋了,本想马上下一份安装试上一试,可惜登陆官网直接被墙,简单尝试了一下翻墙,未果,比较残念(有途径的朋友可以下一份来共享orwellengine.blogspot.com/2011/09/dev-c-5004-released.html ,万分感谢)

  想来Dev-C++的上次更新似乎已是6年前了,期间时过进迁,很多优秀的IDE愈来愈好,自然亦有另一些IDE慢慢的退出舞台,虽然Dev-C++又迎来了自己的一次更新之春,但是可能除了一些死忠以外,大部分人还是不会轻易放掉目前自己手上惯用的IDE了(譬如我),所以至少对于我来说,时不时已经到时间向Dev-C++ Say Goodbye了呢?

  无论如何,还是让我再来简单回顾一下Dev-C++,这位曾经跟我亲密无间的战友吧 :)

(Dev-C++的更多的一些评价信息。)

  二. Dev-C++纵览

  Dev-C++是一套用于C/C++开发的集成开发环境,他是自由的,并且遵守GPL协议。其内建的编译环境基于MinGW GCC,调试环境则基于GDB,而其本身则使用Delphi作为开发语言。

  

  Dev-C++目前只能运行于Windows平台之上,其最初的开发者为Colin Laplace,至今你仍然可以在SourceForge上找到该项目,可惜自20052月以来,该项目已经没有更新(目前更新的Dev-C++属于非官方版本),据Colin Laplace在2006年的一则说法,不再更新的原因是由于其一直忙于自己的生活而没有时间继续Dev-C++的开发。

   

 

  A下载与安装

  目前网络上可以正常下载到的Dev-C++版本便是6年前的4.9.9.2(或者有些网站也称其为5.0 beta),你可以在很多地方得到他的安装包拷贝(譬如这里),其中汉化版居多,安装过程也一贯的傻瓜,不过由于各类安装包并不都很纯粹,有时在自定义安装界面时会自动选择一些第三方的插件程序(譬如百度工具条,唉……),在意的朋友可以注意一下:



 
 一切OK之后,便可以运行Dev-C++了:

B. Dev-C++的使用

  关于Dev-C++的使用,网上已经有很多不错的教程,在此我便不再赘述,有兴趣的朋友可以看看:

  1. 建立新项目、编译、执行

  2. 开启旧项目

  3. 向项目中添加文件

  4. 调试 

  当然,以上只是Dev-C++的基本使用,另外的一些功能(譬如自定义功能)我也觉得值得一说:

  a. 编译设置

  

  

  在这里,你可以设置全局的编译器命令以及链接器命令,还有很多预设的编译链接选项(譬如编译优化),以及一些默认的文件包含目录,还有一些预设的程序(一般会在配置不同的编译器时会用到)。

  b. 环境设置

  

  

  在此你可以设置很多环境相关的参数,一般而言使用默认值即可,我一般可能会修改的便是部分,在此我可以设置语言、主题以及一些个性化的参数,在此建议勾选“No splash screen on startup”,以消除Dev-C++的启动界面

  c. 编辑器设置

  


  

  在此可以设置很多编辑器相关的参数,如各类语法高亮,字体大小等等,有兴趣的朋友可以仔细对照修改,与我而言,默认设置基本符合要求。(这里有一些更细节的内容)

  d 另外的一些配置

  

  这个用来设置自定义快捷键。

  

  这个似乎是用来设置第三方工具,但是本人并没有实际使用过……

  Dev-C++内建了一个开发包的管理工具,其基本由两部分组成:

  一个是更新下载工具:

  

  

  注意,上面的需要选择第二项:(第一项貌似早已不可访问),链接并更新状态之后,便会在下方显示可以下载的更新包,你可以勾选并点击下载。(注意:开发包并不都可以顺利下载,请做好心理准备:))

  第二个开发包工具便是Package Manager



  当你下载使用更新工具下载了对应的开发包,你便可以使用Package ManagerInstall Package功能来安装开发包:

  

  安装成功之后,对应的开发包会在右侧显示,点选之后你可以在左侧查看开发包的基本信息以及所涉及的文件:

e. CVS

Dev-C++ 内部集成了对于CVS(wiki)的支持:

可惜CVS的版本控制功能有着一些天生的缺陷,目前普遍的观点都认为可以使用SVN(wiki)来进行代替,基于此,在此也就省略介绍Dev-C++的这项功能,当然有兴趣的朋友可以仔细的评鉴一下 :)

C. 一些有用的快捷键

  在此罗列一些Dev-C++中自认为很有用的快捷键,有兴趣的朋友可以看一看:

1. Ctrl+N : 新建一个空白文件

2. Ctrl+O : 打开工程(文件)

3. Ctrl+S : 保存当前文件

4. Ctrl+F12 :另存文件

5. Ctrl+F4 : 关闭当前文件

6. Ctrl+Z : 撤销

7. Shift+Ctrl+Z : 重做(Redo

8. Ctrl+X :剪切

9. Ctrl+C :复制

10. Ctrl+V :黏贴

11. Ctrl+1~9 :设置书签(1~9

12. Alt+1~9:跳至书签(1~9

13. Ctrl+A :全选

14. Ctrl+. :注释当前选择代码

15. Ctrl+M:取消注释

16. Shift+Ctrl+I:缩进当前选择代码

17. Shift+Ctrl+U:取消缩进

18. Ctrl+F :查询

19. Ctrl+Alt+F:在文件中查找

20. F3:继续查找

21. Ctrl+R:替换

22. Shift+Ctrl+G:跳至函数

23. Ctrl+G:跳至某行

24. Alt+P:项目属性

25. F9:编译并运行

26. Ctrl+F9:编译

27. Ctrl+F10:运行

28. Ctrl+F11:重新编译

29. F8:开始调试

30. Ctrl+Alt+F2:停止调试

31. Ctrl+F5:设置/取消断点

32. F7:下一步

33. Shift+F7:进入函数

34. Ctrl+F7:继续运行

35. Shift+F4:运行到光标所在处

36. F4:添加查看

37. Ctrl+W:查看变量

38. F12:开启/取消全屏模式

39. F6:下一个窗口

40. F5:上一个窗口

三. 最后的一些话

  时间真的过的很快,曾经那么熟悉的Dev-C++,今天看来竟然已经有些陌生了,诚然,Dev-C++有着这样那样的不足,但是他曾经也成为了那么多人的朋友,也许今后我很少再会拿起他来做一些正儿八经的东西,但是我仍然真心希望随着新版本的发布,他能够再次开花结果,并且愈加沉甸,到时,说不定我仍然会跨起这位老战友的手臂再次启程 :)

  现在,也不知是永远还是暂时,就让Dev-C++成为我心中的一份默默的留念,并让我平静的对他说一声:Goodbye ~~~ 

  再见了,我的Dev-C++ ~~~ 

( Dev-C++的最新版本目前已经上传,有兴趣的朋友可以看看:) )

  部分参考:

  1. http://en.wikipedia.org/wiki/Dev-C%2B%2B

这篇关于Dev-C++,Time to say goodbye ?(更新2012-02-04)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/196960

相关文章

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c

C++归并排序代码实现示例代码

《C++归并排序代码实现示例代码》归并排序将待排序数组分成两个子数组,分别对这两个子数组进行排序,然后将排序好的子数组合并,得到排序后的数组,:本文主要介绍C++归并排序代码实现的相关资料,需要的... 目录1 算法核心思想2 代码实现3 算法时间复杂度1 算法核心思想归并排序是一种高效的排序方式,需要用

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录