有关C与C++的一些概念

来源:互联网 发布:北京加工中心编程招聘 编辑:程序博客网 时间:2024/04/29 03:45

下面介绍一些有关C与C++的一些概念,也许对初学者有所帮助。
诞生
C语言诞生于1973年,它是在B语言的基础上发展而来。
C++语言诞生于1983年,它是在C语言的基础上发展而来。
它们同出一门,均属贝尔实验室研发。
标准 C
ANSIC即标准C,是1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C的发展与扩充,制定了新的标准,后来被国际社会所接受,成为事实上的C语言标准。(美国国家标准化协会(ANSI)是世界上比较权威的标准制定者,它制定了很多有关IT技术的标准。)
我们要搞清楚的是ANSIC是C语言语法、语义及功能的标准定义,它规定了:C语言能做什么,C语言怎么写才是标准的。它不是编译器,基本上所有的编译器都支持ANSIC。
编译器
首先要明确,C与C++语言均属于编译语言,也就是说只有在编译后才可以运行,而不是将源码扔在机器上就可以跑。
比较出名的C与C++编译器有cc,gcc,g++,Turbo C,Borlandc C++,VC++等。
cc是unix自带的编译器,也是unix下的官方编译器 。cc是商业软件,而不是下载就能得到。在linux下,cc是gcc的符号链接,只是一个指向,实际编译器是gcc,当然也可以指向其它。一般使用的比较少。
GCC是一套由 GNU 开发的编程语言编译器。它是一套自由软件,也是自由的类Unix及Mac操作系统的标准编译器。GCC(特别是其中的C语言编译器)应用比较广泛,是跨平台编译器的事实标准。
g++和gcc同属GNU的编译器,g++对C++程序支持的更好一点。gcc是目前对ASCII c,g++是对ISO c++ 支持最好的编译器。
当然gcc也是支持C++的,它们的区别主要如下2点:
1:后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。
2:编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了方便统一,一般都用g++编译和链接。
Turbo C是Borland 公司的C编译器 (Borland公司有一系列的Turbo产品,比如Turbo BASIC, Turbo Pascal, Turbo Prolog),它诞生于1987年。其后来结合了面向对象的思想发展成Turbo C++,直到1991年,Turbo C++又被Borland C++所代替成为Borland公司的新产品。所以说Turbo C,Turbo C++,Borland C++是一脉相承的,同属Borland公司不同时期的产品。
VC++不用说了,这个大家再熟悉不过了,它就是微软的C++编译器。
这四种编译器,都完全支持标准C/C++定义,即ANSIC,但每个编译器都在标准C/C++上进行了扩充,增加了自己的C/C++库。比如Turbo C 除支持ANSI C外,还增加了绘图函数等。一般其各自的扩展库只有自己支持,其它编译器并不支持。比如TC(Turbo C )的绘图函数只有 TC 支持。同样 MS VC++下庞大的MFC库只有VC++支持,TC并不支持,GCC也不支持。
GCC是一个非常庞大的编译器,它不仅支持C/C++,还支持Fortran、Pascal、Objective-C、Java、Ada等语言。但是在C/C++方面它最的最好。
IDE :
比较出名的C/C++集成开发环境软件包括Turbo C,Borland C++,VC++和Dev C++。
Turbo C是Borland公司早期的C程序集成开发环境,当然它内部集成了自己的Turbo C编译器和TC库;
Borland C++是Borland公司后期的C/C++程序集成开发环境,它内部集成了自己的Turbo C编译器和TC库;
VC++是微软公司的C/C++程序集成开发环境,它内部集成了自己的VC++编译器和MFC库;
Dev C++是一个自由软件,是不错的C/C++程序集成开发环境,它是对C/C++标准支持最好的开发工具,它使用的是gcc,g++编译器,没有对第三方库的支持。
总结
说到最好,好像有点模糊,那我再次澄清一下这几个概念:
ANSIC:是标准C定义,它是由美国国家标准化协会制定,目前绝大多数的编译器和IDE都支持,至少是包含支持ANSIC。
Turbo C/C++:既是编译器,也是IDE。是Borland公司的产品。
Borland C++:既是编译器,也是IDE。是Borland公司的产品。
VC/VC++:既是编译器,也是IDE。是微软公司的产品。
gcc :GNU的C/C++编译器
g++:GNU的C/C++编译器
Dev C++:纯粹的IDE,使用gcc,g++编译器。仅支持标准C/C++。 来自:blog.csdn.net/acosoft


 

原创粉丝点击