还在用 VC6 / Bloodshed Dev C++ 吗?来看看 小熊猫 Dev-C++ 吧

还在用 VC6 / Bloodshed Dev C++ 吗?来看看 小熊猫 Dev-C++ 吧

虽然我一直是 Vanilla Java 的死粉,但是因为课程原因,还是要和 C 打一打交道。 我是春考生,所以之前已经学过 C 语言了,并且一直用的是 Bloodshed Dev C++。 Bloodshed Dev C++ 可以说是有年头了,在现代 Windows 版本的高 DPI 环境下会出现窗

虽然我一直是 Vanilla Java 的死粉,但是因为课程原因,还是要和 C 打一打交道。

我是春考生,所以之前已经学过 C 语言了,并且一直用的是 Bloodshed Dev C++。

Bloodshed Dev C++ 可以说是有年头了,在现代 Windows 版本的高 DPI 环境下会出现窗体字体发虚的问题。

并且自动补全也非常弱鸡难用。

大学会开启 Visual Studio 时代吗

本来我以为 Dev C++ 够拉垮了,与工作接轨的大学最起码也得是个 Visual Studio 2010 吧。

然后我们学校发来了 VC6 的压缩包。

草,属实是降维打击了。

好在老师并没有限制我们使用什么开发工具和开发环境,VS 安装耗时长,CLion 同理,所以转来转去还是要用 Dev C++ 来。

认识一下小熊猫 Dev-C++

保留了基本 Dev-C++ 的操作习惯,同时 UI 更加现代,并伴有更加强大的自动补全功能。

不仅如此,小熊猫 Dev-C++ 还带有错误检查等功能,相比较来看,Bloodshed Dev-C++ 真的就是被按在地上爆锤了。

左小熊猫 Dev-C++; 右 Bloodshed Dev-C++;可以看到小熊猫检测出了未使用的变量和拼写错误的函数调用

小熊猫 Dev-C++ 的新功能

摘自官网:

小熊猫Dev-C++ 7 的新功能:

  • 试题集(使用预定义的输入/输出数据运行和自动测试程序是否正确)
  • Competitive Companion支持(这是个chrome/firefox浏览器插件,可以从OJ网站上抓取试题)
  • 内存视图(调试时使用)
  • TODO视图

用户界面改进

  • 更好的支持暗色主题
  • 更多的编辑器配色设置选项
  • 支持设置颜色透明度
  • 全新的“在文件中查找/替换”界面
  • 全新的书签界面

编辑功能改进:

  • 更准确的自动缩进计算
  • 更准确的代码折叠计算
  • “使用特定的字符集打开文件”支持更多的字符集

调试功能改进:

  • 更好的显示复杂变量的值

智能补全提示改进:

  • 支持中文标识符
  • 支持C++ 14的using 类型别名定义
  • 支持C风格的枚举变量定义
  • 支持带参数的宏定义
  • 优化改进代码补全提示功能:
    • 随输入自动显示补全提示
    • 补全#预处理指令
    • 补全#include头文件名
    • 补全C/C++关键字
    • 补全时插入用户代码模板等
    • 支持STL容器类
    • 支持C++11智能指针
    • 修正了代码分析器的一系列bug,更好的支持C++,能够正确的解析和补全提示mingw gcc 9.2, mingw-w64 gcc 10.2自带标准头文件
    • 代码分析器优化和速度提升。代码载入、编辑和显示代码提示时无明显卡顿或停滞。
  • 语法错误检查改进:
    • 在换行、保存文件时自动检查语法错误
    • 改用波浪线标记错误,更加美观
  •  用户编辑界面增强和改进:
    • 支持打开、编辑和编译UTF-8编码的源代码文件
    • 输入时自动覆盖匹配的’}’,’>’,’)’等符号 
    • 暗色配色方案(包括面板和工具栏)
    • 使用不同颜色区分局部变量、全局变量、函数、类定义等;
    • 使用不同颜色突出显示字符串中的转义字符(6.4-beta2版本加入)
    • 使用不同颜色区分嵌套括号
    • 高亮当前文件中所有选中的单词等
  • 改进搜索功能和界面:
    • 增加对正则表达式的支持
    • 在搜索结果界面中改用树形结构保存和展示搜索历史
  • 改进调试功能和界面:
    • 增加调试工具栏
    • 在调试时准确更新监视窗口中的信息(如不同函数中的同名局部变量等)
    • 改进gdb主控台,模拟gdb命令行界面
    • 隐藏/显示发送给gdb的指令
    • 增加局部变量列表
    • 增加调用栈列表
    • 增加断点列表和设置断点条件
  • 增加重构功能,包括:
  • 改进结构浏览器
    • 正确显示当前程序中的宏、类型、类、变量和函数定义
    • 按照类型或者字典序进行排序
    • 显示/隐藏继承成员
    • 提升内容加载速度。对于大文件如GL/glew.h,加载时间从大于20秒减少到不到0.1秒(6.4-beta1版本加入)。
  • 自动链接功能:可以根据用户代码中包含的头文件决定编译时链接哪些库文件,以减少初学者手动修改编译链接参数的不便。(6.3-beta1版本加入)
  • 在运行和调试主控台程序时,可以用一个数据文件代替标准输入(键盘输入)。这样可以减少调试程序时反复输入数据的麻烦。
  • GCC 9.2和GDB 9.2(Mingw.org版,兼容Windows XP。6.3-beta2版本开始改为mingw-w64 gcc 10.2)
  • 自带GCC集成EGE绘图库海龟作图库及其项目模板,以提升初学者的学习兴趣。
  • 兼容Windows XP/Windows 7/Windows 10
  • 支持Windows 7/Windows 10高DPI(需要设置,参见使用说明
  • 其他大量的稳定性和可用性改进和错误修正,请查看功能说明更新历史

下载/官网地址

点击这里

小熊猫的前世今生

Dev-C++是一个小巧的开源C/C++ 集成开发环境,非常适合于C/C++ 语言的初学者使用,但是到2015年后已停止开发。

因为教学的需要,我从2012年开始接触和使用这个编辑器,并在其停止更新后决定在其基础上继续更新,并命名为小熊猫Dev-C++。

2021年,改用QT对整个程序进行了彻底的重写,命名为小熊猫Dev-C++ 7。

—— 小熊猫Dev-C++ 首页

大概这就是别人家的学校和别人家的老师吧......

像我们学校还在用着远古 VC6,一个劲的报存在已知的兼容性问题但是头铁还是忽略接着用,并且带来了无数的奇妙bug....

结尾:教学应该跟上技术发展趋势

我始终是这样认为的——教学的内容不应该和实际应用脱钩。

在2021年的今天,没有任何一家互联网公司会录用一个只会用 VC6 写着只会到定义函数的 C 语言的大学生。

教育的僵化终究会导致在这个体制下出来的学生立刻被时代所淘汰

在我所在学校的 Web 实验室已经在学习如 Vue.js 的新一代 Web 技术,这是一个好的方向。但这种新的技术的学习不应该只停留在实验室里,而应该广泛应用和普及到课堂里,并且落到实处的学习。

但可惜的是,现在大家还在用着 1998 年微软开发的 VC6,抱着一本谭浩强的《C语言程序设计》,随后只学到第 7 章就戛然而止,最后发现自己所学的什么也用不上。

除特殊说明以外,本站原创内容采用 知识共享 署名-非商业性使用 4.0 (CC BY-NC 4.0) 许可。转载时请注明来源,以及原文链接。
Comment