在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

微軟開始嘗試使用Rust代替C/C++,介紹這些運用Rust的產品

如意 ? 來源:讀芯術微信公眾號 ? 作者:讀芯術微信公眾號 ? 2020-09-03 10:09 ? 次閱讀

微軟擁有世界上最大的C/C++代碼庫之一。從Windows、Office到Azure云,微軟的所有核心產品都在該代碼庫上運行。但因為C++不是內存安全的語言,代碼庫中自然頻頻出現內存漏洞,大量的時間被耗費在修補漏洞上。

微軟自去年開始尋找用以替代的編程語言來解決內存安全問題,尋找終有所得——微軟開始嘗試使用Rust,并在一些情境下將其集成進代碼庫中。Rust是一種相對較新的編程語言,具有與C和C++相同的底層性能,并具備現代編程語言應有的功能集。

微軟認為Rust頗具潛力,本文就將介紹微軟將其用在產品中的方式。

用Rust重寫Windows

微軟雖然尚未使用Rust全面重寫Windows,但正在致力于研究如何使Rust適應其生態系統。據微軟估算,在推送給計算機的安全補丁中,有70%都是為了修補內存有關的漏洞,他們認為Rust可以在開發階段捕獲這些漏洞。因此,微軟委托一些工程師用Rust重寫Windows的部分組件,從而獲取開發人員的一些意見。

雖然微軟沒有公開重寫哪些組件,但一名工程師稱,他正在針對性地改造部分“Windows的底層系統”,這體現出了微軟對Rust的潛力頗具信心。微軟不僅計劃重寫一些小的服務和Windows本地應用程序,還可能重寫操作系統的核心組件。

工程師們稱涉及Rust的工作“整體前景是樂觀的”,但也明確指出Rust不具備C的一些重要功能,不過這些工程師們也認為有必要為Rust開發這些功能。

英特爾已經開始致力于讓Rust實現與C相同的功能,微軟也或將加入其中。由于Rust缺少C的一些功能,該團隊發現Rust將最適用于新近開發的Windows組件。假如微軟將部分代碼庫遷移到Rust,我也不會感到吃驚。

微軟已經為Rust搭建了一個標準Windows庫,它具備C++版本的所有功能;Linux也在考慮將一些內核遷移到Rust。這兩大操作系統之間有可能展開競爭,看誰能最先將Rust代碼投入生產。

將Rust整合進Azure服務

DeisLabs是Azure的孵化器項目之一,它致力于為Kubernetes構建工具。近來,它選取Rust來開發新產品Krustlet,允許開發者在Kubernetes中運行多個WebAssembly模塊。

Kubernetes原本由Google開發,以Go語言寫成。大多數工程師傾向于使用Go來為Kubernetes編寫組件,DeisLabs選擇Rust可謂驚人之舉。

最終,這一決定似乎有所成效。雖然員工的確提到了由于Rust獨特的所有權概念,轉換為Rust的過程十分困難,但該團隊僅用了一個月就回到了全速工作狀態,他們發現需要為空值寫的測試以及調試的問題都越來越少。

工程師們也對Rust的編譯器印象深刻。他們稱該編譯器能夠找到另一個項目中的安全漏洞,而Go的編譯器則未能做到這一點。他們總結說,應該有更多的團隊考慮在將來的工作中使用Rust,該語言可能比Go更適合Kubernetes的開發。

一種新的編程語言

不久之前,在Rust的啟發下,微軟開始著手調研創造自己的編程語言。該項目的負責人之一是C#的主要維護人員,因此這一編程語言似乎是另一種版本的Rust,但在語法上更類似C類編程語言。

這一語言被稱為“Project Verona”,致力于在系統編程中解決內存漏洞。一些人推測ProjectVerona可能將在許多微軟主要產品中投入使用,例如Windows、Xbox和Azure。

然而,微軟最終仍沒有實際應用ProjectVerona。微軟的確聲稱該語言已經“完全內存安全”,但依舊選擇使用Rust。Rust已經擁有了完善的社區,并且得到了Mozilla和英特爾等企業的支持。有了這些企業的合作,Rust將會更迅速地成長為更強大的語言。

憑借大型企業的支持和社區的不斷發展,Rust的前途不可限量。在接下來的幾個月中,即使微軟計劃以不同方式將Rust納入企業中也不足為奇。Rust針對微控制器物聯網設備也進行了良好的優化,這些領域的企業有望將Rust投入使用。可以說,Rust的未來一片光明。
責編AJX

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微軟
    +關注

    關注

    4

    文章

    6654

    瀏覽量

    105275
  • C語言
    +關注

    關注

    180

    文章

    7628

    瀏覽量

    139904
  • Rust
    +關注

    關注

    1

    文章

    233

    瀏覽量

    6902
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于SEGGER的Ozone調試器和J-Trace工具跟蹤Ferrocene的Rust應用

    2025年3月,SEGGER和Ferrous Systems合作,確保使用Ferrous Systems的Ferrocene工具鏈編譯的Rust應用程序可以通過SEGGER的J-Trace工具實時下載分析。
    的頭像 發表于 03-14 11:27 ?311次閱讀

    vivo打造最具影響力Rust賽事,點亮基礎軟件事業的“藍河時代”

    在藍河操作系統創新賽,看見中國Rust生態的匯聚與發展
    的頭像 發表于 02-27 15:08 ?1553次閱讀
    vivo打造最具影響力<b class='flag-5'>Rust</b>賽事,點亮基礎軟件事業的“藍河時代”

    JavaScript與Rust和WebAssembly集成

    偶然一次機會,接觸了Rust的代碼。當時想給團隊小伙伴做演示,發現自己并不能在移動端按照文檔生成演示demo。我就想,要是Rust代碼能轉化成JavaScript就好了。結果一搜,還真有。
    的頭像 發表于 01-24 15:43 ?346次閱讀
    JavaScript與<b class='flag-5'>Rust</b>和WebAssembly集成

    Spire.XLS for C++組件說明

    Spire.XLS for C++ 是一款專業的 C++ Excel 組件,可以用在各種 C++ 框架和應用程序中。Spire.XLS for C++ 提供了一個對象模型 Excel
    的頭像 發表于 01-14 09:40 ?462次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說明

    C語言和C++中結構體的區別

    同樣是結構體,看看在C語言和C++中有什么區別?
    的頭像 發表于 10-30 15:11 ?593次閱讀

    C7000優化C/C++編譯器

    電子發燒友網站提供《C7000優化C/C++編譯器.pdf》資料免費下載
    發表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器

    如何用Rust編寫一個ChatGPT桌面應用(保姆級教程)

    用IDEA開發的java仔) 安裝 Rust 語言工具鏈:首先,請確保你已安裝了 Rust 編程語言工具鏈,包括 Rust 編譯器 (rustc) 和包管理工具 (cargo)。可以通過訪問
    的頭像 發表于 09-25 11:19 ?560次閱讀
    如何用<b class='flag-5'>Rust</b>編寫一個ChatGPT桌面應用(保姆級教程)

    未來嵌入式系統的黃金搭檔 MCX N947遇上Rust

    ? Rust 介紹 Rust 是一門注重安全的語言,相比于 C/C++/ASM 有著更高級的抽象能力、編譯器帶來的安全特性與廣泛友好的社區支
    的頭像 發表于 07-25 09:14 ?1608次閱讀
    未來嵌入式系統的黃金搭檔 MCX N947遇上<b class='flag-5'>Rust</b>

    C++語言基礎知識

    電子發燒友網站提供《C++語言基礎知識.pdf》資料免費下載
    發表于 07-19 10:58 ?8次下載

    C++中實現類似instanceof的方法

    C++有多態與繼承,但是很多人開始學習C++,有時候會面臨一個常見問題,就是如何向下轉型,特別是不知道具體類型的時候,這個時候就希望C++ 可以向Java或者Python中有insta
    的頭像 發表于 07-18 10:16 ?805次閱讀
    <b class='flag-5'>C++</b>中實現類似instanceof的方法

    Vector和HighTec推出基于Rust和AUTOSAR Classic實現安全應用的解決方案

    Vector和HighTec兩家公司成功展示了Rust應用程序與基于C語言的AUTOSAR Classic基礎軟件的集成,這在行業內還屬首次。這樣一來,Rust及其優勢可以被應用在有最高功能安全要求的汽車ECU中。
    的頭像 發表于 07-17 14:42 ?1113次閱讀
    Vector和HighTec推出基于<b class='flag-5'>Rust</b>和AUTOSAR Classic實現安全應用的解決方案

    esp32s3開發時,每次改動,rust編譯的時間都很長為什么?

    esp32s3 開發時,每次改動,rust編譯時間太長
    發表于 06-05 06:36

    Linux 6.10集成RISC-V更新,支持Rust編程語言

    本次補丁升級中,Linux內核進一步擴展了對應于RISC-V架構的Rust編程語言支持。在此之前,Rust已可應用在x86_64、龍芯LoongArch以及ARM64等多種架構之上。
    的頭像 發表于 05-23 17:16 ?1165次閱讀

    在Aurix Tc375Lk上使用Rust編程語言可以嗎?

    您好,如果我想在 Aurix Tc375Lk 上使用 Rust 編程語言,可以嗎?如果是,鏈接 rust 編譯器 ADS 和 freetoolchain 的步驟是什么?你有在 ADS 或 freetoolchian 中鏈接編譯器的用戶指南嗎? 請詳細說明謝謝
    發表于 05-17 13:42

    鴻蒙OpenHarmony開發板解析:【Rust模塊配置規則和指導】

    C/C++代碼和提升編譯速度,使用了GN + Ninja的編譯構建系統。GN的構建語言簡潔易讀,Ninja的匯編級編譯規則直接高效。
    的頭像 發表于 05-10 11:32 ?1638次閱讀
    鴻蒙OpenHarmony開發板解析:【<b class='flag-5'>Rust</b>模塊配置規則和指導】
    主站蜘蛛池模板: 狠狠干狠狠艹 | 亚色在线视频 | 天天碰天天 | 国产福利资源在线 | 香蕉爱爱网 | 亚洲乱亚洲乱妇13p 亚洲免费mv | 黄色三级视频网站 | 7086bt伙计 福利一区 | 大乳妇女bd视频在线观看 | 男人天堂网址 | 97人人视频 | 天天爱天天做天天爽天天躁 | 亚洲综合色婷婷在线观看 | 欧美性生交xxxxx久久久 | 91成人免费视频 | 色丁香六月 | 国产精品午夜剧场 | 久久综合狠狠综合狠狠 | 性欧美一级 | 婷婷网址 | 午夜视频在线观看免费视频 | 久久亚洲国产午夜精品理论片 | 午夜啪啪免费视频 | 国产成人福利夜色影视 | 国产伦子一区二区三区四区 | 香蕉视频黄色片 | 18年大片免费在线观看 | 一级特黄性生活大片免费观看 | 国产手机视频在线 | 都市激情综合 | 狠狠操91| 深爱激情婷婷 | 欧美福利在线播放 | 亚洲情网| 成年网站在线看 | 国产拍拍拍精品视频 | 狠狠色婷婷丁香综合久久韩国 | 狠狠色噜噜狠狠狠狠888奇米 | 特黄特色大片免费视频播放 | 国产精品美女一区二区三区 | 日韩在线视频一区 |