欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线

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

2021-02-13    分類: 網(wǎng)站建設(shè)

C語言這么厲害,它自身又是用什么語言寫的?
這是來自我的星球的一個提問:“C語言本身用什么語言寫的?”
換個角度來問,其實是:C語言在運(yùn)行之前,得編譯才行,那C語言的編譯器從哪里來? 用什么語言來寫的?如果是用C語言本身來寫的,到底是先有蛋還是先有雞?
我們假設(shè)世界上不存在任何編譯器, 先從機(jī)器語言說起,看看怎么辦。
機(jī)器語言可以直接被CPU執(zhí)行,不需要編譯器。
然后是匯編語言, 匯編語言雖然只是機(jī)器語言的助記符,但是也需要編譯成機(jī)器語言才能執(zhí)行,沒辦法只能用機(jī)器語言來寫這第一個編譯器了(以后就不用了)。
匯編語言的問題解決了,就往前邁進(jìn)了一大步,這時候就可以用匯編語言去寫C語言的編譯器,我們說這是C編譯器的老祖宗。
有了這個老祖宗,就可以編譯任意的C語言程序了,那是不是可以用C語言本身寫一個編譯器?只要用老祖宗編譯一下就可以了。
OK, 這么一層層上來,終于得到了一個用C語言寫的編譯器, 真是夠麻煩的。
到這個時候,之前那個匯編寫的C語言編譯器就可以拋棄了。
當(dāng)然,如果在C語言之前,已經(jīng)出現(xiàn)了別的高級語言,例如Pascal,那就可以用Pascal來寫一個C語言的編譯器。
第一個Pascal的編譯器據(jù)說使用Fortran寫的。而做為第一個高級語言的Fortran,它的編譯器應(yīng)該是匯編語言寫的。
關(guān)于編譯器,這里邊有個有趣的傳說:
傳說Unix 發(fā)明人之一的 Ken Thompson在貝爾實驗室,大搖大擺的走到任何一臺Unix機(jī)器前,輸入自己的用戶名和密碼,就能以root的方式登錄!
貝爾實驗室人才濟(jì)濟(jì),另外一些大牛發(fā)誓要把這個漏洞找出來,他們通讀了Unix的C源碼,終于找到了登錄的后門, 清理后門以后編譯Unix , 運(yùn)行, 可是Thompson 還是能夠登錄進(jìn)去。
有人覺得可能是編譯器中有問題,在編譯Unix的時候植入了后門, 于是他們又用C語言重新寫了一個編譯器,用新的編譯器再次編譯了Unix, 這下總算天下太平了吧。
可是仍然不管用, Thompson 依然可以用root登錄,真是讓人崩潰 !
后來Thompson 本人解開了秘密,是第一個C 語言編譯器有問題, 這個編譯器在編譯Unix源碼的時候,當(dāng)然會植入后門, 這還不夠,更牛的是,如果你用C 語言寫了一個新編譯器,肯定也需要編譯成二進(jìn)制代碼啊,用什么來編譯,只有用Thompson寫的那第一個編譯器來編譯,好了, 你寫的這個編譯器就會被污染了,你的編譯器再去編譯Unix , 也會植入后門 :-)
說到這里我就想起了幾年前的XcodeGhost 事件,簡單來說就是在Xcode(非官方渠道下載的)中植入了木馬,這樣XCode編譯出的ios app都被污染了,這些app就可以被黑客利用做非法之事。
雖然這個XCodeGhost和Thompson的后面相比差得遠(yuǎn),但是提醒我們,下載軟件的時候要走正規(guī)渠道,從官方網(wǎng)站下載,認(rèn)準(zhǔn)網(wǎng)站的HTTPS標(biāo)準(zhǔn),甚至可以驗證一下checksum。
可能有人問:我用匯編寫一段Hello World都很麻煩,居然有人可以用它寫復(fù)雜的編譯器?這可能嗎?
當(dāng)然可能,在開發(fā)第一代Unix的時候,連C語言都沒有, Ken Thompson 和 Dennis Ritchie 可是用匯編一行行把Unix敲出來的。 WPS第一版是求伯君用匯編寫出來的, Turbo Pascal 的編譯器也是Anders 用匯編寫出來的,大神們的能力不是普通人能想象得到的。
對于編譯器來說,還可以采用“滾雪球”的方式來開發(fā):
還是以C語言為例,第一個版本可以先選擇C語言的一個子集,例如只支持基本的數(shù)據(jù)類型,流程控制語句,函數(shù)調(diào)用...... 我們把這個子集稱為C0。
然后用匯編語言寫個編譯器,只搞定這個語言的子集C0,這樣寫起來就容易不少。
C0這個語言可以工作了,然后我們擴(kuò)展這個子集,例如添加struct,指針...... ,把新的語言稱為C1。
那C1這個語言的編譯器由誰來寫? 自然是C0。
等到C1可以工作了,再次擴(kuò)展語言特性,用C1寫編譯器,得到C2。
然后是C3, C4...... 最后得到完整的C語言。
這個過程被稱為bootstraping , 中文叫做自舉。

網(wǎng)站標(biāo)題:C語言這么厲害,它自身又是用什么語言寫的?
網(wǎng)站URL:http://www.kartarina.com/news12/100762.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站手機(jī)網(wǎng)站建設(shè)定制開發(fā)網(wǎng)站維護(hù)微信小程序網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线
亚洲激情第一区| 欧美一区二区三区啪啪| av成人动漫在线观看| 日韩视频一区二区在线观看| 亚洲v日本v欧美v久久精品| 欧美日韩一级黄| 三级欧美在线一区| 宅男噜噜噜66一区二区66| 免费在线观看一区| 亚洲精品一区二区三区精华液| 国产一区在线看| 一区视频在线播放| 欧美精品久久99久久在免费线| 蜜桃av噜噜一区| 国产欧美日韩精品一区| 在线观看一区日韩| 国精产品一区一区三区mba桃花| 国产亚洲精久久久久久| 91麻豆swag| 日本视频中文字幕一区二区三区| 欧美va亚洲va| 一本色道综合亚洲| 久久国产日韩欧美精品| 亚洲欧美日韩中文播放| 日韩精品专区在线| 91成人国产精品| 国产一区二区伦理片| 一区二区三区四区不卡视频| 久久久.com| 欧美精品成人一区二区三区四区| 国产一区二区三区日韩| 天堂一区二区在线| 日韩一区欧美一区| 久久理论电影网| 欧美电影在哪看比较好| 91片黄在线观看| 国产精选一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 国产清纯在线一区二区www| 欧美日韩高清影院| 色综合色综合色综合色综合色综合| 久久黄色级2电影| 香港成人在线视频| 一区二区三区.www| 亚洲美女偷拍久久| 亚洲欧美日韩在线| 国产精品久久二区二区| 亚洲国产精品av| 久久久久久综合| 久久只精品国产| 欧美一级日韩免费不卡| 欧美日韩综合一区| 欧美亚洲国产一区二区三区| 成人深夜视频在线观看| 国产激情精品久久久第一区二区| 久久99精品久久久久久| 麻豆精品精品国产自在97香蕉| 亚洲大尺度视频在线观看| 一区二区三区在线观看国产| 亚洲欧洲av在线| 亚洲免费观看高清完整版在线观看 | 一区二区三区欧美视频| 日韩伦理电影网| 日韩一区中文字幕| 亚洲欧洲综合另类| 亚洲一二三四久久| 亚洲午夜羞羞片| 日韩高清欧美激情| 精品在线免费观看| 成人午夜在线视频| 色av综合在线| 8v天堂国产在线一区二区| 欧美一区二区三区在线视频| 精品精品欲导航| 日本一二三不卡| 亚洲一区二区中文在线| 日韩**一区毛片| 国产精品正在播放| 成人黄色小视频在线观看| 色久优优欧美色久优优| 日韩一级完整毛片| 国产精品夫妻自拍| 视频在线观看一区| 国产成人午夜精品影院观看视频| 91女神在线视频| 91精品国产综合久久久久久漫画| 久久精品一区二区三区不卡| 亚洲视频每日更新| 另类小说图片综合网| 91污片在线观看| 亚洲精品在线观看网站| 亚洲福利国产精品| 成人久久视频在线观看| 欧美高清激情brazzers| 欧美激情中文不卡| 蜜臀av国产精品久久久久| 不卡一区二区三区四区| 91精品国产一区二区三区蜜臀| 中文字幕中文字幕在线一区| 日韩精品亚洲专区| 91丨porny丨中文| 久久久久久一级片| 午夜精品久久一牛影视| www.亚洲色图| 26uuu另类欧美亚洲曰本| 亚洲一区二区三区自拍| 丁香婷婷综合网| 精品久久免费看| 日本亚洲欧美天堂免费| 日本韩国一区二区三区视频| 欧美国产精品一区二区| 九色porny丨国产精品| 欧美精品乱码久久久久久| 亚洲女人的天堂| 国产91丝袜在线播放0| 日韩欧美亚洲国产另类| 午夜在线成人av| 欧美艳星brazzers| 亚洲精品videosex极品| 成人午夜激情片| 久久久综合精品| 国产激情91久久精品导航| 精品国产乱码久久久久久夜甘婷婷 | 久久色在线观看| 麻豆精品国产传媒mv男同| 欧美精品久久99久久在免费线| 亚洲欧美一区二区三区久本道91| 成人av网址在线| 国产精品第五页| proumb性欧美在线观看| 1000精品久久久久久久久| www.99精品| 亚洲三级在线观看| 在线中文字幕一区二区| 亚洲一区二区综合| 欧美肥大bbwbbw高潮| 青青草视频一区| 欧美电视剧在线看免费| 久久精品国产精品亚洲综合| 精品美女被调教视频大全网站| 久久99精品一区二区三区三区| 久久欧美中文字幕| a级精品国产片在线观看| 亚洲精品一二三| 欧美午夜电影一区| 午夜国产不卡在线观看视频| 欧美一区二区三区白人| 久久99日本精品| 中文字幕免费一区| 在线视频你懂得一区| 日本欧美一区二区在线观看| 精品粉嫩超白一线天av| 99精品国产视频| 午夜精品久久久久久久久久| 精品美女被调教视频大全网站| 成人免费视频国产在线观看| 尤物视频一区二区| 精品美女在线观看| 91啪在线观看| 麻豆成人久久精品二区三区红| 国产精品伦一区二区三级视频| 欧美日韩精品欧美日韩精品一综合| 韩国女主播一区| 亚洲一二三四在线观看| 久久久精品人体av艺术| 欧美日韩成人一区| 成人黄色小视频在线观看| 舔着乳尖日韩一区| 欧美激情综合网| 欧美一区二区三区视频免费播放| 处破女av一区二区| 蜜桃久久久久久久| 一区二区三区久久久| 国产女主播一区| 在线播放/欧美激情| 99re视频精品| 国产一区二区美女| 免费高清成人在线| 亚洲午夜国产一区99re久久| 亚洲国产精品精华液ab| 日韩免费高清视频| 欧美视频一二三区| 91丨porny丨中文| 高潮精品一区videoshd| 美女视频一区在线观看| 亚洲一级二级三级在线免费观看| 中文成人综合网| 久久久久久亚洲综合影院红桃| 制服.丝袜.亚洲.另类.中文| 日本道在线观看一区二区| av资源站一区| 国产成都精品91一区二区三| 蜜臀av性久久久久av蜜臀妖精 | 国产一区二区毛片| 美女国产一区二区三区| 天天综合色天天综合| 亚洲成人免费观看| 亚洲午夜久久久久久久久电影院| 国产精品麻豆欧美日韩ww| 国产亚洲欧美日韩俺去了|