多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Google拋棄C語言,采用Go語言重寫Go編譯器

Google拋棄C語言,采用Go語言重寫Go編譯器

來源:程序員人生   發布時間:2014-09-04 04:16:07 閱讀次數:2585次

Go語言是Google開發的新型編程語言,將動態語言易于編寫的特性和靜態語言的高效性相結合,具備良好的易用性和極佳的執行效率。目前該語言已經發布了1.2正式版本。

Go語言開發者Russ Cox近日透露,Go 1.3版本之后,該語言的編譯器將會使用Go語言重寫。


目前的Go編譯器

目前Go編譯器gc基于C語言,是從Plan 9的C編譯器衍生出來的,其中保持了原有的匯編程序、C編譯器和鏈接器,而部分針對Go的編譯器(gc/6g/8g/5g)使用C語言進行了重寫。

為何要采用Go語言實現

Russ Cox指出,采用Go語言來實現編譯器相比C語言的優勢在于:

  • 編寫正確的Go代碼要比編寫正確的C代碼容易
  • 調試不正確的Go代碼要比調試不正確的C代碼容易
  • Go編譯器必然需要對Go有個很好的了解,而使用C語言實現則增加了一個不必要的二次需求
  • 與C相比,Go語言對并行程序執行得更好
  • 對于模塊化、自動重寫、單元測試以及分析,Go比C有更好的標準支持
  • 使用Go比使用C更加有趣

計劃

Russ Cox表示,將編譯器從C實現轉變為Go實現的過程,主要是通過自動翻譯程序來進行。這一過程將分階段進行:

  • 1階段:開發和調試翻譯程序。
  • 2階段:使用翻譯程序將編譯器從C轉換成Go,并刪除部分C語言副本。該階段可能會在Go 1.3版本中實現,可能仍會需要一些C代碼。
  • 3階段:使用一些工具將編譯器分割成包,并清理部分代碼、添加文檔、添加集成測試等。這個階段將在Go 1.4中實現,會將編譯器徹底轉換成為一個Go程序。
  • 4階段:通過標準的分析和測量技術對編譯器的內存和CPU占用率進行優化,可能會引入并行處理。該階段將在Go 1.4中實現,部分特性可能會在Go 1.5中實現。
  • 5階段:使用最新版本的Go解析器和類型替換編譯器前端。

舍棄的方案

對于為何不從頭編寫一個新的編譯器,Russ Cox表示,從頭編寫是一個愚蠢的行為,這意味著要拋棄之前很多人很多年以來的工作成果。

Go語言開發團隊還嘗試了手動將C代碼翻譯為Go代碼,但是在翻譯了幾個小型的C/C++程序之后,他們發現這種方式比較繁瑣,且容易出錯,而且錯誤都非常隱蔽,不易發現。因此,他們決定首先開發出一個自動編譯器,通過這種方式,出現的錯誤將會是一致的,容易查找。(編譯:王果)

詳細信息:Go 1.3+ Compiler Overhaul

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 伊人222成人综合网 伊人2233 | 亚洲成人在线视频网站 | 青草超级碰碰在线视频 | 看亚洲a级一级毛片 | 女人洗澡一级特黄毛片 | yellow字幕网在线91zmw | 亚洲香蕉一区二区三区在线观看 | 亚洲人成网址在线观看 | 亚洲一区二区三区在线网站 | 免费h| 国产成人精品免费视频大全五级 | 欧美性另类 | 亚洲视频www | 免费视频网站一级人爱视频 | 伊人久久成人 | 爱爱客影院在线影院gf发现 | 欧美黄色免费 | 韩国理论片在线观看 | 久久久日本精品一区二区三区 | 国产国语一级毛片 | 男女免费爽爽爽在线视频 | 亚洲国产成人资源在线桃色 | 91精品国产色综合久久不 | 国产人成亚洲第一网站在线播放 | 91在线丨亚洲| 亚洲国产网址 | 国产精品欧美视频另类专区 | 中文字幕2021免费看 | 欧洲美女人牲交一级毛片 | 日韩小视频在线播放 | 337p日本大胆欧美人术艺术精品 | 天天狠狠弄夜夜狠狠躁·太爽了 | 一区二区在线欧美日韩中文 | 黄色a大片 | 午夜a级片 | 欧美野外多人交3 | 国产精品久久久免费视频 | 成人国产在线24小时播放视频 | 久久久精品456亚洲影院 | 伊人久久大香线蕉亚洲 | 动漫美女羞羞网站 |