使用Turbo C和GNU C / C ++有什么区别?

时间:2019-04-19 17:21:13

标签: c++ gnu turbo-c

我只想知道使用Turbo C和GNU C / C ++有什么区别?有什么真正的区别,或者如果我提交.C文件,那会是同一回事吗?

2 个答案:

答案 0 :(得分:2)

  

真的有区别吗?或者,如果我提交.C文件,那会是同一回事吗?

是的,会有很多差异,而且几乎可以肯定不是同一件事。 Turbo C / C ++是几十年前发布的,没有遵循任何标准定义,因此从未对其进行过更新。

从头文件的命名差异开始,例如iostream.hiostream的比较,最终缺乏对现代C ++语法糖(如基于范围的for循环)的支持。

只需将其丢弃。如今,Turbo C / C ++对于学习该语言已无用(即使印度的“教授” 1 认为确实如此,并坚持使用它)也是如此。


1) 我们真的应该发起一场运动,说服印度教育公共当局停止教授Turbo C / C ++的用法。对于一个在世界上与其他技术领先国家竞争的火箭科学领域表现出色的国家来说,这只是一种耻辱。
没有理由保留它。有许多现代的编译器和IDE可供使用而无需支付任何额外费用,而且我看不出有什么理由继续这种限制,或者他们认为这种限制在教育中具有价值。

答案 1 :(得分:0)

请记住,编程语言是一种规范(写在某些文档中)。它不是软件。

TurboC

已过时,并且不支持(并且AFAIK甚至不支持)最近足够的语言标准,例如C11C++11C++14TurboC接受的语言比最近的语言标准所规定的要差。通常,为TurboC编写的某些代码不符合标准,甚至无法在符合标准的实现(例如GCC)上进行编译。 TurboC是专有软件;您无法(合法地)看到其源代码。

海湾合作委员会

正在支持(几乎所有)最新标准,例如C11C++14GCC是免费软件,您可以合法下载,研究和改进其源代码。阅读什么是自由软件,为什么它对社会如此重要?仅凭这一事实,我就更喜欢GCC

TurboC产生差的可执行代码(其性能不是很好)GCC能够进行优化(在要求时,例如g++ -O2…)并且可以产生具有良好性能的可执行文件

因此您应在项目中使用GCC,而不是TurboC

提示:使用g++ -Wall -Wextra -g进行编译(以获取所有警告和调试信息)。改进代码,直到没有警告。然后使用调试器(gdb),直到您认为自己没有错误为止。对于基准测试,请添加优化标记,例如-O2(甚至是-O3 -march=native

将GCC与良好的编辑器(例如emacs),版本控制系统(例如git)和构建自动化工具(例如GNU make)一起使用

Clang / LLVM

(大多数情况下)是符合标准的自由软件C&C ++编译器,您可以使用它代替GCC。