c语言本身是开源的吗,c语言是用啥写的?谢谢大家了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言本身是开源的吗,c语言是用啥写的?谢谢大家了相关的知识,希望对你有一定的参考价值。

 C语言是一个由ISO组织中的ANSI制定的标准,任何个人或者组织都可以根据这个标准将其实现。现今,世界上有许多不同的C语言实现,比较著名的有:GCC、Watcom、MS C等,其中前两者是开源的,后者是闭源的。下面粘贴几个老外的回答(原回答链接)。

The C language is not a piece of software but a defined standard, so one wouldn't say that it's open-source, but rather that it's an open standard.

There are a gazillion different compilers for C however, and many of those are indeed open-source. The most notable example is GCC's C compiler, which is all under the GNU General Public License (GPL), an open-source license.

There are more options. Watcom is open-source, for instance. There is no shortage of open-source C compilers, but without a doubt the most widespread one, at least in the non-Windows world, is GCC.

For Windows, your best bet is probably Watcom or GCC by using Cygwin or MinGW.

C is a standard which specifies how C compilers should generate programs.

C itself doesn't have any source code, just like a musical note doesn't have any plastic.

Some C compilers, such as GCC, are open source.

C is just a language, and a standardised one at that, too. It pretty much is the compiler that "does all the work". Different compilers did have different dialects; before the the C99 ANSI standard, you had things like Borland C and other competing compilers, that implemented the C language in their own fantastic ways.

stdlib is just an agreed-upon collection of standard libraries that are required to be present in any ANSI C implementation.

       关于C++开源与否:

  与C语言类似,C++也是由ISO/ANSI制定的一个标准,所谓的“官方”并未给出确切的实现,任何组织与个人都可以根据标准自己开发一个C++编译器出来。出名的C++编译器有:GCC/G++、libc/libc++、clang(++)、 Visual studio和MS´ runtime等。也把老外的几个回答贴出来(原回答链接)。

C++ itself is only a description what the language should be,

without a definite implementation.

Anyone can make his own implementations (compiler etc, runtime library, ...)

and call it C++ if it fits to the description.

http://www.open-std.org/jtc1/sc22/wg21/

And if a implementation is open source depends on the creator.

Examples of implementation (parts):

GCC/G++, libc/libc++, clang (++ too), Visual studio and MS´ runtime...

C++ is developed by an ISO standard committee. There's also a C++ foundation that runs a web site you might want to read.

C++ itself is a language, not a specific implementation, so there's no source code available for the standard/language itself.

Some C++ implementations are open source (e.g., Gnu and Clang).

1. C++ is a code standard defined by the International Organization of Standardization (ISO). There are many different implementations of the language, but they all tend to conform to C++11. Unlike Linux or Qt, C++ is just a standard, and to use any code written in the language you'll need a compiler. The major compilers (list from Wikipedia) are LLVM Clang, GCC, Microsoft Visual C++, and the Intel C++ Compiler.

2. C++ revisions are dealt with by ISO, and are influenced primarily by the maintainers of the above four implementations.

3. Clang and GCC are both open-source, I'm sure if you poke around you can find other conforming compilers but those are the two most used.

       总之,跟Java、Python和php这样所谓的开源语言不同,C语言与C++没有官方提供的各自确切的实现代码(库),ISO/ANSI仅仅提供了C和C++的标准。

        这些都是我从自个儿博客摘抄来的,也不见得有人看得到。

参考技术A 本身肯定是的,C语言本身属于高级语言,是用C语言写的追问

c语言是用c语言本身写的?

参考技术B C语言就是一种高级编程语言啊,给人用的语言又不是软件怎么叫开源。 参考技术C 这个问题。。。我都不想说愚蠢。。。。

问你个问题:我们是说汉语的,那么请问,英语是开源的么?英语是用什么写的??

什么叫做语言??
一系列被 赋予了 某种特定含义 的 规则符号,叫做某种语言的 文字;
一系列对应的 发音,叫做某种语言的 发音;
文字和读音合起来才是一种完整的语言。

比如,“苹果”这两个汉字,它代表这一种水果,而不是小狗、小猫。

同样,C语言也是这样,
C语言本身定义了很多英语单词作为关键字,像for这个单词,在C语言中引导着循环;
int 这个符号代表整型数据结构;
这些是语言本身定义的。
话再说回来——以上这些规则,就定义了一门语言。

任何编程语言本身都不是源代码,而是规则。

所谓开源,只能说源代码是开源的,C语言能够写出来很多函数库,有些库是开源的,而有些不是。
参考技术D C语言本身不是开源的。这个从C调用诸多的.dll库你就可以知道了。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
汇编是机器可以直接识别的语言
C还是蛮伟大的,JAVA的底层全是C写的

Erlang是用啥写的?

【中文标题】Erlang是用啥写的?【英文标题】:What is Erlang written in?Erlang是用什么写的? 【发布时间】:2010-10-07 11:10:24 【问题描述】:

Ericsson 的 Erlang 和 Erlang/OTP 实现是用什么编写和编译的?是汇编、C 还是 Erlang 本身?

更新 1:感谢 DrJokepu。如果我理解正确,Erlang source-to-VM 编译器是用 Erlang 本身编写的。但是 VM 是用 C 编写的。

更新 2:Hynek-Pichi-Vychodil 指出了很多细节。

VM 和 HW 交互驱动程序:在 C 中。 编译器(到 VM)和库:在 Erlang 中。 扩展:可以在任何语言中通过用该语言编写端口或 Erlang 节点来实现。

【问题讨论】:

Erlang 是开源的。去看看代码看看吧! 【参考方案1】:

Erlang 本身是用 Erlang 编写的。听起来很奇怪?是的,因为它只是部分正确。 OK,再详细看一下:

    Erlang 预处理器是用 Erlang 编写的。 Erlang 解析器是用 Erlang 编写的。 BEAM(字节码 VM)的 Erlang 编译器是用 Erlang 编写的。 到 HiPE(本地 VM 扩展)的 Erlang 编译器是用 Erlang 编写的。 Erlang VM BEAM 和 HiPE 主要用 C 编写。 链接的驱动程序主要是用 C 语言编写的。(它们插入 VM 并用于与外部世界的通信。) OTP 是用 Erlang 编写的。 其他端口或节点可以用任何语言编写。

【讨论】:

【参考方案2】:

来自Erlang FAQ:

10.6 第一个 Erlang 编译器是如何编写的?

(或:Erlang 是如何引导的?)在 乔的话:

首先我设计了一个抽象机器 执行 Erlang。这被称为 果酱机;果酱 = 乔的摘要 机器。

然后我从 Erlang 编写了一个编译器 JAM 和模拟器看看 机器工作。这两个都是 写在序言中。

与此同时,迈克·威廉姆斯写了一篇 JAM 的 C 模拟器。

然后我重写了 erlang-to-jam Erlang中的编译器并使用了序言 编译器来编译它。结果 目标代码在 C 模拟器中运行。 然后我们扔掉了prolog。

【讨论】:

谢谢!这句话的出处是什么?【参考方案3】: 65.9% 的 Erlang 代码是用 Erlang 编写的。 13.4% 的 erlang 是用 XML 编写的。 13.6% 的 erlang 是用 C 编写的。 1.4% 的 erlang 是用 C++ 编写的 ...

您可以在ohloh 站点查看实时和更新统计信息,此报告从主 erlang git 存储库生成。

【讨论】:

我只是好奇哪些部分是用 c++ 编写的。 @csyangchen none,这是行计数器文件类型检测中的误报。 部分 WX 绑定是用 C++ 编写的。【参考方案4】:

我可以说 Erlang 最初是用 C/C++ 编写的 我不能说 Java 是用 java 编写的......但它是框架和 一些图书馆。 关于 Erlang,因为它是首选的编程语言,适合 对于电信系统...为了保持敏捷(例如:在聊天机器人中) 我知道它的编译器或预处理器是用 Erlang 编写的。 但是语言的其他特性是用低级语言编写的。

【讨论】:

以上是关于c语言本身是开源的吗,c语言是用啥写的?谢谢大家了的主要内容,如果未能解决你的问题,请参考以下文章

中控脚本用啥写比较好

mysql是用啥语言写的?

谁知道WOW的插件,或者说UI接口的大多数是用啥语言写的

脚本是用啥语言写的?

如何查看网站是用啥语言开发的

C语言本身是用什么语言写的?世界上第一个能执行的编译器是如何编译?