GCC是用什么语言编写的?编程语言出现之前,编译器或解释器用什么语言编写?GCC和G++有什么区别?

embedded/2024/11/21 23:45:22/

GCC是用什么语言编写的?

早期是C语言,后来改为C++,源代码:https://github.com/gcc-mirror/gcc.

GCC编译器从C语言转向C++也经历过不顺,皓哥 GCC 用 C++ 来编译 | 酷 壳 - CoolShell 就有提到2012年GCC就转向用C++编译器编译,之后逐渐修改源代码为C++.

不过C vs C++性能和复杂度的讨论从未因为一位大牛说"C++是垃圾"而停止,之前和之后都在不断讨论,GCC社区同样遇到转向C++的困扰。不过总结起来,担心C++的性能、一些特性的复杂度和维护难度是讨论重心。当然,也被提到,GCC自由软件基金会FSF原本就不写C++也被当做是早期未能转向C++的理由。了解更多转向C++的历史

X语言编译器可以用X语言编写吗?

编译器/解释器用什么语言编写?

编程语言出现之前,编译器或解释器用什么语言编写?

学习各种编程语言的同学们,一定会遇到类似的问题。一个简单通俗的回答是,当前已有什么才能用什么,没有什么就不能用什么,写好了某种语言的编译器后,才能用对应语言写它的编译器。

  • C语言编译器最早使用B语言编写,因为没有其他编译C语言的编译器,只能选用已有的编程语言。
  • GCC编译器编写时,已经有不少C语言编译器了。GCC早期是用C语言写的,是由Stallman从一个由Pascal语言编写的Pastel编译器改写。后期,GCC选择用C++编译器编译,再到之后,GCC换用C++语言编写。

为什么出现某种语言编译器或解释器是用相同语言编写的?

听起来这违反常理,事实上,任何一种语言只有它的第一个编译器/解释器不能用自身去编写,之后,均可用任何语言编写实现。不过,对于是否是本机native可执行文件,不同编程语言定位不同,可选择的语言会受限。

GCC和G++有什么区别?

gcc命令不止能编译C语言,还可以编译C++(内部等同于调用g++)或Fortran等(编译其它语言相当于调用对应语言的编译器),g++只能编译C或者C++.

如果仅仅考虑C语言,参考此公式:g++ == gcc -xc++ -lstdc++ -shared-libgcc.

gcc 1.c和g++ 1.c有什么区别?

gcc 1.cpp和g++ 1.cpp有什么区别?


若文章对您有帮助,欢迎关注。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。


http://www.ppmy.cn/embedded/139462.html

相关文章

什么是Hadoop

Hadoop 介绍 Hadoop 是由 Apache 开发的开源框架,用于处理分布式环境中的海量数据。Hadoop 使用 Java 编写,通过简单的编程模型允许在集群中进行大规模数据集的存储和计算。它具备高可靠性、容错性和扩展性。 分布式存储:Hadoop 支持跨集群…

借助OpenAI优化Selenium脚本:提高稳定性与可维护性

在自动化测试的工作中,Selenium是最常用的工具之一。尽管Selenium功能强大,但在实际应用中,随着测试脚本的增长和页面结构的变化,脚本可能会变得不稳定或难以维护。本文将展示如何使用OpenAI帮助自动化测试工程师优化现有的Seleni…

vue中iframe的使用说明

iframe嵌套页面&#xff0c;在某些时候使用起来还是挺不错的&#xff0c;比如&#xff1a;第三方登录&#xff0c;页面a中加入页面b等 <iframe ref"iframeRef" src"" frameBorder"0" loading"eager" width"100%" height…

PostgreSQL提取JSON格式的数据(包含提取list指定索引数据)

PostgreSQL提取JSON格式的数据&#xff08;包含提取list指定索引数据&#xff09; ->>, ->, #>, #>> 在PostgreSQL中&#xff0c;处理json或jsonb类型数据时&#xff0c;->>, ->, #> 和 #>> 是非常有用的操作符&#xff0c;它们允许你以…

MSTP知识点

多生成树协议 在 MSTP&#xff08;Multiple Spanning Tree Protocol&#xff09;中&#xff0c;根桥&#xff08;root&#xff09;、指定端口&#xff08;designated port&#xff09;、备用端口&#xff08;alternate port&#xff09;等角色都是确保网络中没有循环并且流量能…

探寻优质的 PostgreSQL 中级认证专家学习机构

PostgreSQL作为一种功能强大且高度可扩展的关系型数据库管理系统&#xff0c;正受到越来越多企业和开发者的青睐。如果你正在寻找一家优质的PostgreSQL中级认证专家学习机构&#xff0c;这篇文章将为你提供宝贵的指导和建议。 为什么选择PostgreSQL&#xff1f; PostgreSQL以其…

GLM4 PyTorch模型微调最佳实践

一 引言 2024年6月&#xff0c;智谱AI发布的GLM-4-9B系列开源模型&#xff0c;在语义、数学、推理、代码和知识等多方面的数据集测评中&#xff0c;GLM-4-9B和GLM-4-9B-Chat均表现出超越Llama-3-8B的卓越性能。并且&#xff0c;本代模型新增对26种语言的支持&#xff0c;涵盖日…

Vue跨域资源共享

在Vue前端开发中&#xff0c;跨域问题是一个常见的挑战&#xff0c;特别是当你需要从前端应用向不同域名或端口的后端API发送请求时。跨域请求通常会被浏览器的同源策略&#xff08;Same-Origin Policy&#xff09;阻止&#xff0c;以确保安全性。 以下是一些解决Vue前端跨域问…