Linux中國

微軟開源了一個更安全的 C 語言版本:Checked C

Checked C 通過修改如何控制指針來解決這些問題,指針被程序員們用來定義他們的代碼所操作的內存地址。

當指針數量一多,指針控制就往往容易忙中出亂。項目越大,跟蹤它們就越困難。類似 Chromium、Firefox、Office、OpenSSL 以及其它的大型代碼庫在這方面都存在這樣的問題,你可以從它們的變更日誌中看到大量的這類問題修復。

Checked C 允許程序員更好的描述他們想要如何使用指針,以及指針應該指向的內存範圍」,微軟,「這個信息可以用於在運行時環境中添加檢測,以偵測錯誤的數據訪問,而不是讓錯誤悄悄的發生而無所察覺。」

Checked C 給 C 語言添加了邊界檢查

Checked C 也將允許開發者檢測到他們以為 C 語言有、而實際卻沒有的功能誤用。按編程的說法來說,這個叫做「 邊界檢查 bounds checking 」的功能,用於檢查變數/指針是否在它的範圍之內賦值。

C# 和 Rust 已經有這樣的功能了,而且還不止於此。然而,不幸的是,被廣泛使用的 C 和 C++ 卻沒有這樣的功能。微軟希望只需要對現有的 C/C++ 程序做最小的改動,利用 Checked C 就可以得到安全方面的改善,這樣會吸引大量的開發者開始使用 Checked C。

Checked C 項目已經放到了 GitHub 上。

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國