{eval=Array;=+count(Array);}

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問(wèn)答專欄Q & A COLUMN

C語(yǔ)言本身是用什么語(yǔ)言寫的?

snifessnifes 回答10 收藏1
問(wèn)題描述:星球人的一個(gè)提問(wèn):“C語(yǔ)言本身用什么語(yǔ)言寫的?”
收藏問(wèn)題

10條回答

svtter

svtter

回答于2022-06-22 18:56

開始是匯編,之后就是用c自己寫自己不斷迭代

評(píng)論0 贊同0
  •  加載中...
Alex

Alex

回答于2022-06-22 18:56

既然你能提出這個(gè)級(jí)別的問(wèn)題,說(shuō)明你應(yīng)該學(xué)過(guò)C。既然你能提出這個(gè)級(jí)別的問(wèn)題,說(shuō)明你沒(méi)學(xué)過(guò)編譯原理(或者全還給老師了[捂臉],容我不厚道一下下)。

你所謂的"C語(yǔ)言",準(zhǔn)確來(lái)說(shuō),指的是能把C語(yǔ)言程序翻譯成機(jī)器指令程序的"編譯器"程序。

先用匯編寫一個(gè)極小的原始編譯器(AC),能編譯最簡(jiǎn)單的C語(yǔ)法。然后用該原始編譯器AC編譯一個(gè)最簡(jiǎn)單的C編譯器(CC1)。然后用CC1編譯一個(gè)稍微復(fù)雜一點(diǎn)的C編譯器(CC2)。最終,像滾雪球一樣,C語(yǔ)言就把一個(gè)擁有完全編譯功能的C編譯器給編譯出來(lái)了。

推薦資料:陳火旺老師的經(jīng)典教材《編譯原理》,開篇講的就是這個(gè)問(wèn)題。

評(píng)論0 贊同0
  •  加載中...
zhoutk

zhoutk

回答于2022-06-22 18:56

是用C語(yǔ)言編寫的。

這里有一個(gè)概念,就是編程語(yǔ)言的自舉。

自舉(bootstrapping)字面理解就是自己能把自己給舉起來(lái),換做編程語(yǔ)言來(lái)講就是,自己編譯自己。也就是C語(yǔ)言能通過(guò)C語(yǔ)言自己編寫自己的編譯器。

完成自舉通常需要3-4個(gè)步驟。

1、創(chuàng)建自舉編譯器環(huán)境。

2、編譯自舉編譯器。

3、通過(guò)自舉編譯器編譯完整的編譯器。

4、通過(guò)第三步里面的完整的編譯器編譯完整的編譯器。

第四步得到的編譯器就是一個(gè)自舉編譯器。

那么問(wèn)題來(lái)了,第2步中的編譯器是什么語(yǔ)言寫的呢,是這么來(lái)的呢?

這個(gè)就要了解編程語(yǔ)言是什么了,簡(jiǎn)單而言編程語(yǔ)言分為,機(jī)器語(yǔ)言(就是0101),匯編語(yǔ)言(可以理解為機(jī)器語(yǔ)言簡(jiǎn)單英文翻譯),高級(jí)語(yǔ)言(這個(gè)就是我們通常接觸到的編程語(yǔ)言了,細(xì)分的話,還有編譯型的語(yǔ)言和解析型的語(yǔ)言等)。

參考 Dennis M. Ritchie 寫的 The Development of the C Language:Chistory。

Ken Thomson 不滿意 BCPL,于是設(shè)計(jì)了 B 語(yǔ)言,并且用 BCPL 為 B 語(yǔ)言寫了一個(gè)編譯器,然后從這個(gè)編譯器開始自舉寫新的 B 語(yǔ)言編譯器。

貝爾實(shí)驗(yàn)室的眾人在 PDP-7 上用 B 語(yǔ)言寫了各種各樣的東西后又不滿意 B 語(yǔ)言了,于是 1971 年 DMR 開始在新買的 PDP-11 上用 B 給 B 寫擴(kuò)展,稱之為 new B(簡(jiǎn)稱NB),new B和原來(lái)的B語(yǔ)言漸行漸遠(yuǎn),于是就取了BCPL的第二個(gè)字母C當(dāng)作new B的新名字,C語(yǔ)言就這么誕生了。

1973 年夏天他們用手頭的編譯器和語(yǔ)言給 PDP-11 重寫了一個(gè) Unix Kernel。C語(yǔ)言就這樣和unix/linux結(jié)下不解之緣。

對(duì)了,BCPL也是一門能自舉的語(yǔ)言,后來(lái)有些人也用匯編語(yǔ)言寫了C語(yǔ)言的編譯器,并且C語(yǔ)言的語(yǔ)法都是透明公開的,你可以用任何語(yǔ)言實(shí)現(xiàn)C語(yǔ)言的編譯器。

所以答案就變成了,第一版C語(yǔ)言編譯器是由B語(yǔ)言編寫的。現(xiàn)在你可以用任何語(yǔ)言去實(shí)現(xiàn)C語(yǔ)言的編譯器。

評(píng)論0 贊同0
  •  加載中...
?。?。

?。?。

回答于2022-06-22 18:56

C語(yǔ)言是用C寫的。奇怪嗎?先用匯編寫個(gè)C0編譯器,再用它寫C編譯器。

評(píng)論0 贊同0
  •  加載中...
quietin

quietin

回答于2022-06-22 18:56

最早的計(jì)算機(jī)語(yǔ)言是機(jī)器語(yǔ)言,直接面向計(jì)算機(jī)硬件。雖然指令不多,但實(shí)現(xiàn)特定任務(wù)需要編制復(fù)雜的程序。由于缺乏存儲(chǔ)系統(tǒng),程序存儲(chǔ)于紙帶上。隨著存儲(chǔ)介質(zhì)的發(fā)展和程序模塊化演變,計(jì)算機(jī)語(yǔ)言由低級(jí)向高級(jí)不斷發(fā)展。尤其是視窗操作系統(tǒng)的出現(xiàn),使得計(jì)算機(jī)對(duì)用戶更加友好。

評(píng)論0 贊同0
  •  加載中...
岳光

岳光

回答于2022-06-22 18:56

編譯器和鏈接器都是用ASM

評(píng)論0 贊同0
  •  加載中...
cgspine

cgspine

回答于2022-06-22 18:56

C語(yǔ)言本身是基于英語(yǔ)的。C語(yǔ)言的創(chuàng)始人丹尼斯里奇是美國(guó)人,哈佛大學(xué)畢業(yè)。

比如C語(yǔ)言里的數(shù)據(jù)定義:int出自于integer;比如結(jié)構(gòu)語(yǔ)句:if... else... 等等。

評(píng)論0 贊同0
  •  加載中...
Eastboat

Eastboat

回答于2022-06-22 18:56

這個(gè)問(wèn)題導(dǎo)致我有一個(gè)問(wèn)題,漢語(yǔ)是什么語(yǔ)言創(chuàng)建的?

只能說(shuō)c語(yǔ)言的運(yùn)行原理是啥,通過(guò)什么能編譯執(zhí)行c語(yǔ)言的命令。所以感覺(jué)這個(gè)問(wèn)題很奇怪

評(píng)論0 贊同0
  •  加載中...
cooxer

cooxer

回答于2022-06-22 18:56

語(yǔ)言就是一套語(yǔ)法規(guī)則,都是用文字寫的,在美國(guó)是用英文寫的,到了中國(guó)翻譯成中文。語(yǔ)言的編譯器才是用計(jì)算機(jī)語(yǔ)言編的。能將C語(yǔ)言源程序翻譯成可執(zhí)行代碼的任何計(jì)算機(jī)語(yǔ)言,都可以用來(lái)編寫C語(yǔ)言編譯器。

評(píng)論0 贊同0
  •  加載中...
fai1017

fai1017

回答于2022-06-22 18:56

英文字母和漢語(yǔ)拼音。

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過(guò)該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說(shuō)句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<