夜夜躁很很躁日日躁麻豆,精品人妻无码,制服丝袜国产精品,成人免费看www网址入口

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

C語言這么厲害,它自身又是用什么語言寫的?

0
分享至

換個(gè)角度來問,其實(shí)是:C語言在運(yùn)行之前,得編譯才行,那C語言的編譯器從哪里來?用什么語言來寫的?如果是用C語言本身來寫的,到底是先有蛋還是先有雞?

1

我們假設(shè)世界上不存在任何編譯器, 先從機(jī)器語言說起,看看怎么辦。

機(jī)器語言可以直接被CPU執(zhí)行,不需要編譯器。

然后是匯編語言, 匯編語言雖然只是機(jī)器語言的助記符,但是也需要編譯成機(jī)器語言才能執(zhí)行,沒辦法只能用機(jī)器語言來寫這第一個(gè)編譯器了(以后就不用了)。

匯編語言的問題解決了,就往前邁進(jìn)了一大步,這時(shí)候就可以用匯編語言去寫C語言的編譯器,我們說這是C編譯器的老祖宗。

有了這個(gè)老祖宗,就可以編譯任意的C語言程序了,那是不是可以用C語言本身寫一個(gè)編譯器?只要用老祖宗編譯一下就可以了。

OK, 這么一層層上來,終于得到了一個(gè)用C語言寫的編譯器, 真是夠麻煩的。

到這個(gè)時(shí)候,之前那個(gè)匯編寫的C語言編譯器就可以拋棄了。

當(dāng)然,如果在C語言之前,已經(jīng)出現(xiàn)了別的高級(jí)語言,例如Pascal,那就可以用Pascal來寫一個(gè)C語言的編譯器。

第一個(gè)Pascal的編譯器據(jù)說使用Fortran寫的。而做為第一個(gè)高級(jí)語言的Fortran,它的編譯器應(yīng)該是匯編語言寫的。

2

關(guān)于編譯器,這里邊有個(gè)有趣的傳說:

傳說Unix 發(fā)明人之一的 Ken Thompson在貝爾實(shí)驗(yàn)室,大搖大擺的走到任何一臺(tái)Unix機(jī)器前,輸入自己的用戶名和密碼,就能以root的方式登錄!

貝爾實(shí)驗(yàn)室人才濟(jì)濟(jì),另外一些大牛發(fā)誓要把這個(gè)漏洞找出來,他們通讀了Unix的C源碼,終于找到了登錄的后門, 清理后門以后編譯Unix , 運(yùn)行, 可是Thompson 還是能夠登錄進(jìn)去。

有人覺得可能是編譯器中有問題,在編譯Unix的時(shí)候植入了后門, 于是他們又用C語言重新寫了一個(gè)編譯器,用新的編譯器再次編譯了Unix, 這下總算天下太平了吧。

可是仍然不管用, Thompson 依然可以用root登錄,真是讓人崩潰 !

后來Thompson 本人解開了秘密,是第一個(gè)C 語言編譯器有問題, 這個(gè)編譯器在編譯Unix源碼的時(shí)候,當(dāng)然會(huì)植入后門, 這還不夠,更牛的是,如果你用C 語言寫了一個(gè)新編譯器,肯定也需要編譯成二進(jìn)制代碼啊,用什么來編譯,只有用Thompson寫的那第一個(gè)編譯器來編譯,好了, 你寫的這個(gè)編譯器就會(huì)被污染了,你的編譯器再去編譯Unix , 也會(huì)植入后門 :-)

說到這里我就想起了多年前的XcodeGhost 事件,簡(jiǎn)單來說就是在Xcode(非官方渠道下載的)中植入了木馬,這樣XCode編譯出的ios app都被污染了,這些app就可以被黑客利用做非法之事。

雖然這個(gè)XCodeGhost和Thompson的后面相比差得遠(yuǎn),但是提醒我們,下載軟件的時(shí)候要走正規(guī)渠道,從官方網(wǎng)站下載,認(rèn)準(zhǔn)網(wǎng)站的HTTPS標(biāo)準(zhǔn),甚至可以驗(yàn)證一下checksum。

3

可能有人問:我用匯編寫一段Hello World都很麻煩,居然有人可以用它寫復(fù)雜的編譯器?這可能嗎?

當(dāng)然可能,在開發(fā)第一代Unix的時(shí)候,連C語言都沒有, Ken Thompson 和 Dennis Ritchie 可是用匯編一行行把Unix敲出來的。 WPS第一版是求伯君用匯編寫出來的, Turbo Pascal 的編譯器也是Anders 用匯編寫出來的,大神們的能力不是普通人能想象得到的。

對(duì)于編譯器來說,還可以采用“滾雪球”的方式來開發(fā):

還是以C語言為例,第一個(gè)版本可以先選擇C語言的一個(gè)子集,例如只支持基本的數(shù)據(jù)類型,流程控制語句,函數(shù)調(diào)用...... 我們把這個(gè)子集稱為C0。

然后用匯編語言寫個(gè)編譯器,只搞定這個(gè)語言的子集C0,這樣寫起來就容易不少。

C0這個(gè)語言可以工作了,然后我們擴(kuò)展這個(gè)子集,例如添加struct,指針...... ,把新的語言稱為C1。

那C1這個(gè)語言的編譯器由誰來寫? 自然是C0。

等到C1可以工作了,再次擴(kuò)展語言特性,用C1寫編譯器,得到C2。

然后是C3, C4...... 最后得到完整的C語言。

這個(gè)過程被稱為bootstraping , 中文叫做自舉。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
楊振寧離世前狀態(tài)曝光!一直吸氧無法說話,翁帆用小白板寫字交流

楊振寧離世前狀態(tài)曝光!一直吸氧無法說話,翁帆用小白板寫字交流

娛圈小愚
2025-10-24 09:49:44
大陸18份通緝令見效,臺(tái)獨(dú)分子天塌了,賣慘哭窮,金庫(kù)被一鍋端

大陸18份通緝令見效,臺(tái)獨(dú)分子天塌了,賣慘哭窮,金庫(kù)被一鍋端

Ck的蜜糖
2025-10-23 03:03:18
世界杯亂了,誕生頭號(hào)黑馬!日本助攻中國(guó)女足,輸球也有望進(jìn)16強(qiáng)

世界杯亂了,誕生頭號(hào)黑馬!日本助攻中國(guó)女足,輸球也有望進(jìn)16強(qiáng)

侃球熊弟
2025-10-24 02:40:03
高市早苗稱將提高日本防衛(wèi)開支,中方表態(tài)

高市早苗稱將提高日本防衛(wèi)開支,中方表態(tài)

每日經(jīng)濟(jì)新聞
2025-10-23 16:59:29
被中美歐同時(shí)施壓,荷蘭人急瘋了,高官致電北京,懇請(qǐng)解決問題

被中美歐同時(shí)施壓,荷蘭人急瘋了,高官致電北京,懇請(qǐng)解決問題

南權(quán)先生
2025-10-23 12:55:02
浙經(jīng)貿(mào)的三分鐘戰(zhàn)士大二弟弟火了

浙經(jīng)貿(mào)的三分鐘戰(zhàn)士大二弟弟火了

杭城村叔
2025-09-11 12:54:47
80年母親心軟放走盜賊,10年后收到一個(gè)包裹,打開一看全家蒙圈

80年母親心軟放走盜賊,10年后收到一個(gè)包裹,打開一看全家蒙圈

民間精選故事匯
2024-09-08 10:30:03
美企緊急喊話特朗普:再不停止穿透性制裁,將會(huì)被中國(guó)踢出供應(yīng)鏈

美企緊急喊話特朗普:再不停止穿透性制裁,將會(huì)被中國(guó)踢出供應(yīng)鏈

通文知史
2025-10-23 13:35:03
2-1逆轉(zhuǎn)美國(guó)女足,葡萄牙女足隊(duì)史首次擊敗美國(guó)女足

2-1逆轉(zhuǎn)美國(guó)女足,葡萄牙女足隊(duì)史首次擊敗美國(guó)女足

懂球帝
2025-10-24 10:45:14
今年最敢拍的喜劇,一次性辱了4國(guó)

今年最敢拍的喜劇,一次性辱了4國(guó)

獨(dú)立魚
2025-10-23 23:21:19
于東來怒批湖北一被幫扶企業(yè)不懂感恩,跨區(qū)域與其他被幫扶企業(yè)競(jìng)爭(zhēng)

于東來怒批湖北一被幫扶企業(yè)不懂感恩,跨區(qū)域與其他被幫扶企業(yè)競(jìng)爭(zhēng)

三湘都市報(bào)
2025-10-23 20:30:34
霸氣,湖人對(duì)陣森林狼在即,斯馬特備戰(zhàn)與愛德華茲的“大戰(zhàn)”

霸氣,湖人對(duì)陣森林狼在即,斯馬特備戰(zhàn)與愛德華茲的“大戰(zhàn)”

好火子
2025-10-24 14:13:37
20分逆轉(zhuǎn)!布克轟31+5,狄龍22+4兌現(xiàn)價(jià)值,威少首秀6+6還有油

20分逆轉(zhuǎn)!布克轟31+5,狄龍22+4兌現(xiàn)價(jià)值,威少首秀6+6還有油

巴叔GO聊體育
2025-10-23 14:21:20
47歲楊麗娟現(xiàn)狀曝光,曾追求劉德華至家破人亡,如今超市打工仍未婚

47歲楊麗娟現(xiàn)狀曝光,曾追求劉德華至家破人亡,如今超市打工仍未婚

除夕煙火燦爛
2025-10-24 10:07:56
陜西新郎跳河原因基本理清:婚禮前3天就開始吵,不止是錢的問題

陜西新郎跳河原因基本理清:婚禮前3天就開始吵,不止是錢的問題

熱風(fēng)追逐者
2025-10-19 21:18:09
朝鮮副國(guó)級(jí)高官叛逃脫北,曝光金家秘聞:酒池肉林、80萬買軒尼詩(shī)

朝鮮副國(guó)級(jí)高官叛逃脫北,曝光金家秘聞:酒池肉林、80萬買軒尼詩(shī)

貓眼觀史
2024-03-25 14:31:14
河南登封擬對(duì)一鎮(zhèn)征收房產(chǎn)稅引發(fā)熱議,個(gè)人住房是否征稅、該征多少稅?

河南登封擬對(duì)一鎮(zhèn)征收房產(chǎn)稅引發(fā)熱議,個(gè)人住房是否征稅、該征多少稅?

澎湃新聞
2025-10-23 09:32:31
五大集團(tuán)軍待命臺(tái)海,三十萬大軍嚴(yán)陣以待,對(duì)臺(tái)準(zhǔn)備進(jìn)展到哪一步

五大集團(tuán)軍待命臺(tái)海,三十萬大軍嚴(yán)陣以待,對(duì)臺(tái)準(zhǔn)備進(jìn)展到哪一步

荷蘭豆愛健康
2025-10-24 06:36:48
解禁后的張雪峰改稱“文科大有可為” 可嘆、可笑、可悲

解禁后的張雪峰改稱“文科大有可為” 可嘆、可笑、可悲

冷觀互聯(lián)網(wǎng)
2025-10-24 12:02:16
獨(dú)家|三大外賣平臺(tái)被市場(chǎng)監(jiān)管總局上門調(diào)查

獨(dú)家|三大外賣平臺(tái)被市場(chǎng)監(jiān)管總局上門調(diào)查

經(jīng)濟(jì)觀察報(bào)
2025-10-24 11:22:18
2025-10-24 14:27:00
碼農(nóng)翻身 incentive-icons
碼農(nóng)翻身
有趣且硬核的技術(shù)文章
189文章數(shù) 552關(guān)注度
往期回顧 全部

科技要聞

馬斯克“加倍下注”,再次挑戰(zhàn)特朗普手下

頭條要聞

沈逸:特朗普就臺(tái)灣問題最新表態(tài) 被指暗示反"臺(tái)獨(dú)"

頭條要聞

沈逸:特朗普就臺(tái)灣問題最新表態(tài) 被指暗示反"臺(tái)獨(dú)"

體育要聞

NBA反賭掃黑!楊瀚森一覺起來主教練沒了

娛樂要聞

竇驍發(fā)文辟謠婚變傳聞

財(cái)經(jīng)要聞

介紹和解讀黨的二十屆四中全會(huì)精神,一文速覽

汽車要聞

空間實(shí)用/補(bǔ)能高效 吉利藍(lán)氣球限時(shí)鉅惠價(jià)3.99萬元起

態(tài)度原創(chuàng)

健康
藝術(shù)
時(shí)尚
手機(jī)
家居

內(nèi)分泌科專家破解身高八大謠言

藝術(shù)要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

直播|| 降溫天的居家幸福感,是它們給的

手機(jī)要聞

蘋果App Store國(guó)區(qū)充值活動(dòng):最高加贈(zèng)10%,限時(shí)三天

家居要聞

寵物友好 溫馨社交空間

無障礙瀏覽 進(jìn)入關(guān)懷版 精美人妻与无码人妻| 国产AV综合一区| 国产成人午夜福利院| 无套中出丰满人妻无码| 亚洲精品无码久久一线| 欧美人人操人人摸| 天干夜天干天天天爽视频| 久久香综合精品久久伊人| 成年午夜性影院| 日韩精品666| 人人妻人人澡人人澡人人爽日日碰| 被操了.com| av天堂免费在线观看 | 特黄美女日逼视频| 人人妻人人澡人人爽欧美一在内谢| 国内精品人妻无码久久| 中国丰满人妻videoshd| 成人性生交大片免费看r| 国产精品麻豆成人AV电影艾秋 | 国产av一码二码三码无码| 亚洲不卡中文字幕无码| 天堂网在线最新版www| 成人在线播放视频| 亚洲精品久久久久久中文字幂| 一区二区三区无码按摩精油| 亚洲综合在线日韩av| 美女脱了内裤打开腿让男人戳| 成人午夜福利视频一区二区| 日韩视频中文字慕| 婷婷色香五月综合缴缴情香蕉| 野花社区观看在线www官网| 国产后式a一视频| 日韩性感调教影院| 国产AV无码专区亚洲精品网站 | av一区二区三区在线在线观看| 亚洲国产日韩欧美一区二区三区 | 国产综合A V| 纯肉无遮挡H肉动漫浮乳| 国产无码高清在线观看| 亚洲精品乱码久久久蜜桃| 成人H动漫在线看|