zoukankan      html  css  js  c++  java
  • 【转】Visual C++ 和 C++ 有什么区别?

          有位同学问我“Visual C++和C++有什么区别?”,这的确是初学者会感到困惑的问题,比较常见。除此之外,还有“先学C++好,还是先学Visual C++好?”,都属于同样的概念不明的问题,就比如问“英语和英语词典有什么区别”一样。要弄清这个问题的答案,就要明白语言,工具,库,标准的概念。可以参考我之前发的 Programming Language 那篇笔记。

          一门程序语言,例如C++,根本上是一套语法体系,是逻辑领域上的规则集。而要真正使用计算机来应用程序语言,就需要有相应的语言实现,历史上,C++有多种实现,比如早期的cfront, 曾经的Turbo C++,现在流行的Visual C++和GCC。这些特定实现,以工具的方式存在于计算机中,比如编译器,链接器等。

         但是单纯的语言实现是解决不了实际需求的,因此许多实现都提供了额外的程序,初期各种实现所带的库都是不同的,这就导致了同一语言不同实现之前移植的难度,因此业界就形成了一个标准委员会,为C++制订一套标准库,包含IO库, STL等。除去标准库外,还需要各种程序库来实现各个领域的需求,就有了各种各样的界面库,网络库等,比如C++常见的界面库有MFC,WTL,wxWidgets, GTK+,Qt,为了方便程序员使用这些库,工具厂商便将一些库直接集成到工具包中一起发售,比如Visual C++中除了对STL的支持外,还包含了MFC和ATL两个程序库。

         所以说,C++是语言,Visual C++是工具集,MFC是程序库。要解决实际问题,开发应用程序,语言、工具和程序库三方面的学习是缺一不可的,而在程序库的学习中,标准库又是重中之重。

  • 相关阅读:
    JS面向对象的理解
    引用类型值的相等判断
    数组的常用方法
    得到一定范围内的随机数
    数组随机排序
    【目标检测大集合】R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记
    卷积层和池化层学习
    R-FCN:基于区域的全卷积网络来检测物体
    【目标检测】Faster RCNN算法详解
    Selective Search for Object Recognition
  • 原文地址:https://www.cnblogs.com/skylover/p/7102656.html
Copyright © 2011-2022 走看看