歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> 微軟向開源又邁進了一大步:Checked C

微軟向開源又邁進了一大步:Checked C

日期:2017/3/6 9:16:24   编辑:學習Linux

微軟向開源又邁進了一大步:Checked C


微軟向開源又邁進了一大步:Checked C


導讀微軟開源了 Checked C ,這是一個 C 語言的擴展版本,可以用於解決 C 語言中的一系列安全相關的隱患。正如其名字所示,Checked C 為 C 語言增加了檢查,這個檢查可以幫助開發者檢查常見的編程錯誤,比如緩存區侵占buffer overruns、內存訪問越界、不正確的類型轉換等。這些編程錯誤往往是造成許多重大安全漏洞的根本原因,比如破殼漏洞Shellshock、心髒出血漏洞Heartbleed、沙蟲Sandworm等。

微軟向開源又邁進了一大步:Checked C微軟向開源又邁進了一大步:Checked C

Checked C 通過修改控制指針來解決這些問題,指針被程序員們用來定義他們的代碼所操作的內存地址。當指針數量一多,指針控制就往往容易忙中出亂,項目越大跟蹤它們就越困難,類似 Chromium、Firefox、Office、OpenSSL 以及其它的大型代碼庫在這方面都存在這樣的問題,你可以從它們的變更日志中看到大量的這類問題修復。“Checked C 允許程序員更好的描述他們想要如何使用指針,以及指針應該指向的內存范圍”,微軟說,“這個信息可以用於在運行時環境中添加檢測,以偵測錯誤的數據訪問,而不是讓錯誤悄悄的發生而無所察覺。”

微軟向開源又邁進了一大步:Checked C微軟向開源又邁進了一大步:Checked C

Checked C 也將允許開發者檢測到他們以為 C 語言有、而實際卻沒有的功能誤用。按編程界的說法來講,這個叫做“邊界檢查bounds checking”的功能,用於檢查變量/指針是否在它的范圍之內賦值,C# 和 Rust 已經有這樣的功能了,而且還不止於此。然而不幸的是,被廣泛使用的 C 和 C++ 卻沒有這樣的功能,微軟希望只需要對現有的 C/C++ 程序做最小的改動,利用 Checked C 就可以得到安全方面的改善,這樣會吸引大量的開發者開始使用 Checked C。

Checked C 項目已經放到了GitHub上。這並不是微軟第一次對基本編程語言做出來自己的演繹,之前該公司的程序員們還創建了一個名為 TypeScript 的 JavaScript 的超集,並且它已經得到了廣泛認可。

原文來自:https://linux.cn/article-7474-1.html

轉載地址:http://www.linuxprobe.com/microsoft-checkedc-opensource.html


http://xxxxxx/Linuxjc/1155877.html TechArticle

Copyright © Linux教程網 All Rights Reserved