初学C语言,为什么老师总是要我们使用vc6.0而不是其他的编辑器?

老师那么做的原因:教材用的是VC6,实验室配置的是VC6,乃至你的考试都是VC6,所以用VC6而不是别的编译环境,更加容易应付教学。小编建议:纯小白:用DevC++、CodeBlocks、CLion、CFree乃至QtCreator这些轻量级IDE。然后,主要按教材和VC6的练手,因为首先先要能够入门搞懂什么是编程,并且能够独立完成作业和考试,保证不挂科。然后再考虑从C++ Primer等开始学真正的技术——但至少先大致把操作系统、计算机组成结构、编译原理的一些东西搞清楚,不然知识点会混乱的。

有技术基础的:这还用说?直接上C++11,然后业余时间兼顾下VC6来应付作业和考试VC6的缺点如下:VC6不支持C99,所以不适合用来学C。VC6不支持C++11,所以绝对不应该用来学C++。11前和11后的C++是两门语言。VC6的STL奇坑无比,导致现在还有许多被坑出心理阴影的企业直接禁止使用STL,而是自己造各种轮子。

不止STL,VC6连C++98标准都支持不全。VC最高只支持到XP系统,更高需要开兼容模式,然后能不能正常运行,编译出来的东西会不会有问题,无法保证。(补充:Win10神一般的兼容性,据说可以直接跑VC6,同理也可以跑红警2)VC6的C++和MFC、Win32 API整合太深,一旦开始学图形编程,几乎所有关于他俩的资料里,都不会指明哪些属于C++标准库,哪些属于MFC、哪些属于Win32 API。于是从此以后,你脱离了VC就再也不会写程序了。

更别说MFC的架构思想究竟有多古董,匈牙利命名法究竟有多么反人类了。(当然,抛掉匈牙利命名法,我还是更喜欢Win32 API而不是Linux API的)(或者说,那个年代,编程开发、框架、类库这些技术都很原始,那个时代的绝大多数博客文章甚至书籍中,都没有刻意将其进行区分)关于最后一点究竟有多可怕,请见下方详述.

千万别用VC6,否则你的世界就只剩一口井了!军工行业由于近年来的国产化推进,海量的当年用VC6+MFC写的老项目,现在都在向国产平台迁移,说白了就是向Linux平台迁移。所以VC和MFC肯定没法继续用了,目前工作中迁移用的框架是Qt。然后,你猜原来那批人员是怎么看待这些东西的?他们不知道MSVC、GCC、MinGW、MFC、Qt、C++、VC、Qt Creator的区别。他们不知道IDE、编译器、开发框架的区别。

关于怎么快速学C/C++游戏编程,有什么方法,这个问题,想必大家都已经心中有数了,打算深入了解这个行业的朋友,可以加下小编的C/C++游戏编程学习群:666+295+498,邀请码(夏热)不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的C/C++资料和0基础入门教程,欢迎初学和进阶中的小伙伴。

每天晚上20:00我都会开直播给大家分享C/C++游戏编程学习知识和路线方法,群里会不定期更新最新的教程和学习方法(进群送2018C/C++游戏编程学习教程),大家都是学习C/C++的,或是转行,或是大学生,还有工作中想提升自己能力的前端党,如果你是正在学习C/C++的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

他们只知道,原来用的是VC,现在用的是Qt。他们的所有电脑,可以没有office,可以没有Qt,但即使是全裸的电脑上,都有VC6.0。他们只有少数喜欢钻研技术的人的电脑上有新版VS,目前见到最高的是2018。他们时不时还老来问我这种问题——Qt能不能用FILE*读写文件?拜托,FILE*不是Qt的东西,也不是VC的东西,甚至都不是C++的东西,是C的东西啊!更别说和他们解释为什么用MinGW编译的Qt程序不能链接VC写的dll了……PS:坐井观天不代表技术不行我只是刚毕业三年,因为自学能力强,勉强能做Team Leader的人。

而他们是在这行写了十年以上代码的人。在我的工位上摆的是《C++ Primer》《设计模式》的时候,他们的工位上摆的是深入学习Unix、Windows API剖析、GDI编程详解等等……甚至还有Qt都作为官方教材的某本Qt书籍,而我这个Qt程序员还很可耻的没看过……然而,这些都掩盖不了他们最基础的一些常识的缺失。他们可以把操作系统、计算机原理、编译原理玩得滚瓜烂熟。我用Qt写个基于事件响应的多线程,而不是C风格用死循环跑的线程,他们都能够从操作系统任务调度的角度和我讨论孰优孰劣。

他们原来用VC6+MFC写的程序很丑陋,在C++11的时代看来,简直辣眼睛。一个系统级的大型软件,整个工程只有四五个子工程,每个子工程里直接单文件夹塞满百来个源文件,每个源文件一两千行,源文件内部的代码完全是纯C的写法,成员方法和对象指针打包成函数指针和void*作回调连续转十几道手,所有逻辑功能类全都扔到全局对象里让任何人随便调用,这你敢信?(而且这个单例模式非线程安全,构造函数也依旧放在public里……)然而,这些都影响不了一个事实——现在我们用Qt仿造迁移的程序,性能和稳定性都被他们的丑陋的程序碾压。就连程序美工,我们写出来的界面虽然长得精致,但一看就是网络上铺天盖地的民用软件。

他们写的界面虽然傻大黑粗连自动布局缩放都没有,但一看就是军用的,简洁易操作的工业级产品。这就是技术的差距。当然也是因为通用化的需求,因为他们的老程序几乎全是hard code写死的,任何一个最小的参数变动都要重新编译。所以虽然代码丑,但这么硬编码出来的就是更稳定,就是更高效。然而这些依旧不能掩盖一个问题——他们的世界里,只有一口井,虽然那口井很大,也许比我现在能触摸到到的海域都大。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180419A0UEFX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券