当前位置:首页 » 编程软件 » 自编译和自举

自编译和自举

发布时间: 2022-08-10 01:13:06

A. go语言是如何实现自举的

先用C和汇编写一个Go的编译器,用C的编译器编译成可执行文件。
用Go写一个Go的编译器,用上述编译器编译。

B. C语言是用什么编写出来的

C语言通过语言开发出来的。

C语言是Dennis Ritchie 在1972年通过Thompson的B语言的基础之上开发出来的。C是作为从事实际编程工作的程序的一种工具而出现的,所以其主要目标是成为一种有用的语言。同时, C 也是为编程人员开发的语言,这使得它成为当今人们首先的编程语言之一。

C已经成为最重要和流行的编程语言之一。它之所以得到发展,是因为人们尝试使用它后喜欢它。过去10年中,许多人从C转而使用更强大的C++语言,但C有其自身的优势,仍然是一种重要的语言,而且它还是通往C++的必由之路。

(2)自编译和自举扩展阅读

C语言特点

1、设计特性:C是一种融合了控制特性的现代语言,而我们已发现在计算机科学的理论和实践中,控制特性是很重要的。

2、高效性: C是一种高效的语言。 在设计上它充分利用了当前计算机在能力上的优点。C程序往往很紧凑且运行速度快。

3、可移植性:C是一种可移植语言。在一个系统上编写的C程序经过很少改动或不经修改就可以其他系统上运行。

C. 编译器的自举原理是什么

编译器的所有自举原理主要是和代码和优化有关,运行库是C++语言写的,产生的目标代码肯定是会与运行平台一致的,如果不一致,也没办法进行自举。

D. 自己写编译器怎么写,我想为中国程序员做个编译C语言的编译器。

首先做这个东西的意义并不大,如果是想学习的话,看看这本书Modern Compiler by Andrew W. Appel

E. 内核自举是什么

自举的意思是为你的系统建立一个工具链(C库和编译器),之后安装所有的核心系统软件包。要自举一个系统,先安装一个stage3。在你开始配置内核之前,修改一下bootstrap.sh以便它适合你的需要,接着就运行它。
代码 3.7: 自举系统
# cd /usr/portage/scripts
# vi bootstrap.sh

# ./bootstrap.sh
下一步,使用新建的工具链重新建立所有的核心系统软件包。因为stage3的taball已经提供了它们,所以我们需要重新建立它们。
代码 3.8: 重建所有的核心系统包
# emerge -e system
现在你可以继续配置内核。并且你将不能再使用预编译的GRP软件包了.
====
书上写的 应该是重新load

F. 什么是自举开发能力什么样的系统才具有自举开发能力

以下全是个人理解:
在当前开发环境的基础上开发更好的开发环境的能力被称为自举开发能力。
用C语言来开发C编译器的过程就是自举开发过程。这一过程可能是这样的:机器语言编写汇编编译器,用汇编编写一个简单的C编译器,然后用C编写一个更好的C编译器,同时也可以用C编译一个更好的汇编编译器,而且新的编译器还可以重新编译原来的C编译器……
个人认为具备了图灵完备性的系统都具有自举开发能力。但是受硬件局限性,自举能力可能受到限制,并且根据需求或许这一能力并不必要……
比如说我听说有个牛人用74系列门电路集成芯片、八段码液晶显示、开关搭建了一个单片机开发环境,然后用它开发一个用单片机实现的单片机开发环境(所有的程序都是用开关按进去的),后来他在准备给这个开发环境添加LCD支持的时候,他终于有了一台属于自己的计算机,这时候,他就不再需要将他的单片机开发环境继续自举下去了……因为他已经拥有了足够满足要求的计算机和相应软件……

G. 计算机编程语言必须能够自举吗

不明白自举是什么意思, 是自己实现自己吗?
如果是这个那么绝大多数都可以.因为他们的根都在操作系统依赖标准的操作系统库.
不管是编译型的还是解释型的都毫无问题.

H. java中的自举类,是什么意思

java编译器编译java编译器。一开始c++编译第一代的java编译器。之后每一代的java编译器 编译后一代的java 编译器。1.0编译2.0;不需要其他c或c++.

I. 什么是编程语言的自举

就是自己的编译器可以自行编译自己的编译器。
实现方法就是这个编译器的作者用这个语言的一些特性来编写编译器并在该编译器中支持这些自己使用到的特性。
首先,第一个编译器肯定是用别的语言写的(不论是C还是Go还是Lisp还是Python),后面的版本才能谈及自举。
至于先有鸡还是先有蛋,我可以举个这样的不太恰当的例子:比如我写了一个可以自举的C编译器叫作mycc,不论是编译器本身的执行效率还是生成的代码的质量都远远好于gcc(本故事纯属虚构),但我用的都是标准的C写的,那么我可以就直接用gcc编译mycc的源码,得到一份可以生成高质量代码但本身执行效率低下的mycc,然后当然如果我再用这个生成的mycc编译mycc的源码得到新的一份mycc,新的这份不光会产生和原来那份同等高质量的代码,而且还能拥有比先前版本更高的执行效率(因为前一份是gcc的编译产物,后一份是mycc的编译产物,而mycc生成的代码质量要远好于gcc的)。故事虽然是虚构的,但是道理差不多就是这么个道理。这也就是为什么如果从源码编译安装新版本的gcc的话,往往会“编译——安装”两到三遍的原因。

热点内容
usb大容量存储驱动 发布:2024-05-07 19:02:01 浏览:813
红米1s没有存储空间 发布:2024-05-07 18:59:09 浏览:503
妖云解压密码 发布:2024-05-07 18:50:08 浏览:1001
sql语句等于怎么写 发布:2024-05-07 18:05:46 浏览:816
我的世界电脑版第三方服务器大全 发布:2024-05-07 18:00:46 浏览:627
主服务器的ip地址 发布:2024-05-07 17:58:50 浏览:546
组服务器打电脑游戏 发布:2024-05-07 17:46:19 浏览:866
java的文件路径 发布:2024-05-07 16:55:29 浏览:293
云表服务器安装导致电脑崩溃 发布:2024-05-07 15:58:35 浏览:524
ftp是什么检测器 发布:2024-05-07 15:37:59 浏览:403