GCC为什么用C++来编译

发布时间:2021-11-29 14:54:35 作者:iii
来源:亿速云 阅读:158

本篇内容介绍了“GCC为什么用C++来编译”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

为什么要用C++

在GNU的C++ Conversion文档中,我们可以在Background中看到这样的描述:

Whether we use C or C++, we need to try to ensure that interfaces are easy to  understand, that the code is reasonably modular, that the internal documentation  corresponds to the code, that it is possible for new developers to write new  passes and to fix bugs. Those are the important issues for us to consider. The  C++ features which are not present in C – features which are well documented in  many books and many web sites – are not an important issue.

这句话的意思可以理解为,今天GCC在用C语言的实现已经有点hold不住了,因为,开发人员觉得,不管我们用C或C++,都需要努力确保接口是容易理解的,这样我们的代码是想当理性地被模块化的,这样内部文档和代码一致,这样可以更好地组织代码,这样有利于新人了fix-bug。而C++正好可以让他们更好的完成这些东西。

GNU还给出了下面这些理由:

数据结构的操作 ——  你写的一定不会有STL好

GCC为什么用C++来编译

结构套结构还是继承?

GCC为什么用C++来编译

函数指针还是多态?

GCC为什么用C++来编译

垃圾回收 还是 智能指针?

GCC为什么用C++来编译

Why not C++? 

GCC为什么用C++来编译

Bootstrapping

***,我想来介绍一下Bootstrapping。  所谓Bootstrapping,就是用自己这个语言写编译器来编译自己,也就是说如果你要编译gcc,你需要用一个c的编译器来编译之,这个就是bootstrapped  process,自举过程。包括 BASIC, Algol, C, C++, Pascal, PL/I, Factor, Haskell, Modula-2, Oberon, OCaml,Common  Lisp, Scheme, Java, Python, Scala 等语言都这么干。

这样干的好处主要是,自己可以测试自己,编译器的改善和语言的改善相辅相成。

但是,这是一个“鸡生蛋,还是蛋生鸡”的问题,如果你需要用X语言来写一个X语言编译器的语言,你可以这样干:

“GCC为什么用C++来编译”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. GCC与编译过程
  2. gcc编译选项

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++ gcc

上一篇:ASM DG Usable_file_MB和Req_mir_free_MB的含义分别是什么

下一篇:C/C++ Qt TreeWidget单层树形组件怎么应用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》