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

相关文章

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下:

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序