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语言是用啥写的?谢谢大家了的主要内容,如果未能解决你的问题,请参考以下文章