python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5072|回复: 0

Dev-C++ ── 基于 GPL 协议的 C/C++ 开源 IDE 集成开发环境

[复制链接]

195

主题

220

帖子

1050

积分

工程师

Rank: 5Rank: 5

金钱
620
金币
6
威望
0
贡献
0
发表于 2016-2-6 18:48:17 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
Dev-C++ ── 基于 GPL 协议的 C/C++ 开源 IDE 集成开发环境

Dev-C++ 是 Windows 环境下的 C/C++ 开源 IDE 集成开发环境,基于 GPL 许可协议分发源代码。Dev-C++ 使用 MingW64/TDM-GCC 编译器,遵循 C++11 标准,同时兼容 C++98 标准。Dev-C++ 采用 Delphi 开发。


Dev-C++ 集成了 MinGW (Minimalist GNU for Windows 的简写,即:针对 Windows 的极简主义 GNU) 等众多 C/C++ 开发环境,支持各种最新版本工具。Dev-C++ 是 NOI、NOIP 等比赛的指定工具,缺点是 Debug 功能较弱。由于原开发公司在开发完 4.9.9.2 后停止开发,所以,现在由其它公司更新开发,但都基于 4.9.9.2 Dev-C++。


Dev-C++ 的分支有 Google 的 Smart-C++(最新版 1.1.0.38 Alpha 3),以及不同编译环境的 VC++。


Dev-C++ 开发环境包括多页面窗口、工程编辑器及调试器等,在工程编辑器中集成了编辑器、编译器、连接程序和执行程序。Dev-C++ 有提供高亮语法显示,以减少编辑错误,还有完善的调试功能,可适应初学者与编程高手的不同需求,是学习 C 或 C++ 的首选开发工具!


Dev-C++ 多国语言版,包含简繁体中文语言界面及技巧提示,还有英语、俄语、法语、德语、意大利语等二十多个国家和地区语言。


C++ 是从 C 语言发展而来的。C 语言是 1972 年由美国贝尔实验室(AT&T Bell)的 D.M.Ritchie 研制成功的。C 语言不是为了初学者设计的,而是为计算机专业人员设计的。最初 C 语言是作为写 UNIX 操作系统的一种工具,在贝尔实验室内部使用。后来 C 语言不断改进,人们发现它功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多优点,特别适合于写系统软件。因此,C 语言从实验室走向美国,从美国走向世界。到 20 世纪 70 年代,C 语言已风靡全世界。无论是在中国还是在外国,C 语言都成为了计算机开发人员的基本功。


但随着软件规模的增大,用 C 语言编写程序渐渐显得有些吃力。C 语言是结构化和模块化的语言,它是面向过程的。在处理较小规模的程序时,程序员用 C 语言还是比较得心应手。但当问题比较复杂、程序规模比较大时,结构化程序的设计方法就显示出了它的不足。


为解决软件编程危机,20 世纪 80 年代,人们提出了面向对象的程序设计(object oriented programming,OOP) 理念,需设计出能支持面向对象的程序设计方法的新编程语言。在实践中,人们发现 C 语言是如此的深入人心,使用如此广泛,面对程序设计方法的革命,最好的办法不是另外发明一种语言去代替它,而是在它原有的基础上加以发展。在此情形下,C++ 应运而生。


C++ 是由贝尔实验室(AT&T Bell)的 Bjarne Stroustrup 博士及其同事于 20 世纪 80 年代初在 C 语言的基础上开发出来的。


AT&T Bell 发布的第一个 Dev-C++ 编译系统实际上是一个预编译器(前端编译器),真正的 Dev-C++ 程序是在 1988 年诞生的。


C++ 提供了丰富的 STL 模板库,不仅适合算法竞赛,同样适合软件开发。


C 编程语言版本历史

#
时间
版本
事件
备注
01
1978 年K&R C起初,C 语言并没有官方标准;
1978 年美国电话电报公司 (AT&T)贝尔实验室正式发表 C 语言。
布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)出版了一本书,名叫《The C Programming Language》;这本书被 C 语言开发者们称为 K&R,很多年来被当作 C 语言的非正式标准说明;人们称这个版本的 C 语言为 K&R C。
把运算符 =+ 和 =- 改为 += 和 -=;因为,=+ 和 =- 会使编译器不知道使用者要处理 i = -10 还是 i =- 10,产生混淆。
02
1970 年到 80 年代 ANSI C / C89C 语言被广泛应用,从大型主机到小型微机,也衍生了很多不同版本。
1983 年美国国家标准协会(ANSI)成立了一个 X3J11 委员会,制定 C 语言标准。
1989 年美国国家标准协会(ANSI)通过 C 语言标准,称为 ANSI X3.159-1989 "Programming Language C";因为,这个标准是 1989 年通过的,一般简称 C89 标准。也简称 ANSI C,因为,这个标准是美国国家标准协会(ANSI)发布的。
1990 年国际标准化组织(ISO)和国际电工委员会(IEC)把 C89 标准定为 C 语言国际标准,命名为 ISO/IEC 9899:1990 - Programming languages -- C。因为,此标准是在 1990 年发布的,所以简称 C90 标准。不过,大多数人依然称之为 C89 标准,因为此标准与 ANSI C89 标准完全等同。
1994 年国际标准化组织(ISO)和国际电工委员会(IEC)发布了 C89 标准修订版,名叫 ISO/IEC 9899:1990/Cor 1:1994,简称 C94 标准。
1995 年国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了 C89 标准修订版,名叫 ISO/IEC 9899:1990/Amd 1:1995 - C Integrity,简称 C95 标准。
03
1999 年
C99国际标准化组织(ISO)和国际电工委员会(IEC)发布 C 语言新标准,名叫 ISO/IEC 9899:1999 - Programming languages -- C,简称 C99 标准。这是 C 语言的第二个官方标准。增加了对编译器的限制,比如源程序每行要求至少支持到 4095 字节,变量名、函数名要求支持到 63 字节(extern 要求支持到 31);
支持 // 开头的单行注释(这个特性实际上在 C89 的很多编译器上已经被支持了);
格式化字符串中,利用 \u 支持 unicode 字符;
修改了 /% 处理负数时的定义,这样可以给出明确的结果,例如在 C89 中 -22 / 7 = -3, -22% 7 = -1,也可以 -22 / 7= -4, -22% 7 = 6。 而 C99 中明确为 -22 / 7 = -3, -22% 7 = -1,只有一种结果;
取消了函数返回类型默认为 int 的规定;
增加和修改了一些标准头文件,比如定义 bool 的 <stdbool.h> ,定义一些标准长度的 int 的 <inttypes.h> ,定义复数的 <complex.h> ,定义宽字符的 <wctype.h> ,类似于泛型的数学函数 <tgmath.h>, 浮点数相关的 <fenv.h>。 在 <stdarg.h> 增加了 va_copy 用于复制 ... 的参数。里增加了 struct tmx ,对 struct tm 做了扩展;
输入输出对宽字符以及长整数等做了相应的支持;
2001 年 国际标准化组织(ISO)和国际电工委员会(IEC)发布了 C99 标准修订版,名叫 ISO/IEC 9899:1999/Cor 1:2001,简称 C01 标准。
2004 年 国际标准化组织(ISO)和国际电工委员会(IEC)发布了 C99 标准修订版,名叫 ISO/IEC 9899:1999/Cor 2:2004,简称 C04 标准。
2007 年 国际标准化组织(ISO)和国际电工委员会(IEC)发布了 C99 标准修订版,名叫 ISO/IEC 9899:1999/Cor 3:2007,简称 C04 标准。
04
2011 年
C11 国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了 C 语言新标准,名叫 ISO/IEC 9899:2011 - Information technology -- Programming languages -- C,简称 C11 标准,原名 C1X。这是 C 语言的第三个官方标准,也是 C 语言的最新标准。新标准提高了对 C++ 的兼容性,并增加了一些新特性;
对齐处理 (Alignment) 的标准化 (包括 _Alignas 标志符,alignof 运算符, aligned_alloc 函数以及 <stdalign.h> 头文件;
多线程 (Multithreading) 支持;
基于 C Unicode 技术报告 ISO/IEC TR 19769:2004,增强了对 Unicode 的支持。包括为 UTF-16/UTF-32 编码增加了 char16_t 和 char32_t 数据类型,提供了包含 unicode 字符串转换函数的头文件 <uchar.h>;
删除了 gets() 函数,使用一个新的更安全 gets_s() 函数替代;
增加了边界检查函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等;
匿名结构体/联合体支持,这个在 gcc 早已存在,C11 将其引入标准;
静态断言 (static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理;
新的 fopen() 模式,(“…x”),类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用;
新增 quick_exit() 函数作为第三种终止程序的方式,当 exit() 失败时可以做最少的清理工作;
2012 年国际标准化组织(ISO)和国际电工委员会(IEC)发布了 C11 标准修订版,名叫 ISO/IEC 9899:2011/Cor 1:2012,简称 C12 标准。

C++ 编程语言版本历史

#
时间
版本
事件
备注
01
1998 年C++ 98C++ 标准第一版,正式名称为 ISO/IEC 14882:1998。绝大多数编译器都支持 C++98 标准;
不过当时错误地引入了 export 关键字,由于技术上的实现难度,除了 Comeau C++ 编译器 export 关键字以外,没有任何编译器支持 export 关键字;并且这个标准对现代一些编译理念有相当的差距,有很多在高级语言都应当有的功能,它都没有。这也正是后来需要制定 C++11 标准的原因所在。
02
2003 年C++ 03 C++ 标准第二版,正式名称为 ISO/IEC 14882:2003。这个标准仅仅是 C++ 98 的修订版,与 C++ 98 几乎一样,没做什么修改;
仅是对 C++ 98 做了一些 “勘误”,就连主流编译器(受 C99 标准影响)都已支持的 long long 都没有被加入 C++ 03 标准。
03
2011年C++ 11C++ 标准第三版,正式名称为 ISO/IEC 14882:2011。C++ 11 包含核心语言新机能,拓展了 C++ 标准程序库,并加入了大部分的 C++ Technical Report 1 程序库 (数学上的特殊函数除外);
此次,标准为 C++ 98 发布后 13 年来第一次重大修正。
04
2014年C++ 14C++ 标准第四版,正式名称为 ISO/IEC 14882:2014;正式名称为 "International Standard ISO/IEC 14882:2014(E) Programming Language C++"。
C++ 14 作者 Bjarne Stroustrup 称,主要的编译器开发商已实现了 C++ 14 规格;
C++ 14 旨在作为 C++ 11 的一个小扩展,主要提供漏洞修复和小的改进;
C++ 14 是 C++ 11 的增量更新,主要是支持普通函数的返回类型推演、泛型 lambda、扩展的 lambda 捕获、对 constexpr 函数限制的修订、constexpr 变量模板化等等。

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-4-26 04:12 , Processed in 0.030115 second(s), 27 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表