當前位置:首頁 » 編程軟體 » 自編譯和自舉

自編譯和自舉

發布時間: 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的話,往往會「編譯——安裝」兩到三遍的原因。

熱點內容
androidsocket服務 發布:2024-04-26 22:49:53 瀏覽:979
python編譯時加密 發布:2024-04-26 22:49:20 瀏覽:246
買車看哪些配置參數 發布:2024-04-26 22:45:50 瀏覽:834
linux顯示圖像 發布:2024-04-26 22:45:41 瀏覽:492
flash腳本格式 發布:2024-04-26 22:43:41 瀏覽:452
c語言求三位數 發布:2024-04-26 22:43:39 瀏覽:690
c語言點陣字模 發布:2024-04-26 22:19:35 瀏覽:919
光加密 發布:2024-04-26 22:15:28 瀏覽:352
aspnet經典源碼 發布:2024-04-26 22:14:46 瀏覽:135
linux編譯提示缺少build 發布:2024-04-26 22:14:34 瀏覽:416