Linux中國
微軟開源了一個更安全的 C 語言版本:Checked C
Checked C 通過修改如何控制指針來解決這些問題,指針被程序員們用來定義他們的代碼所操作的內存地址。
當指針數量一多,指針控制就往往容易忙中出亂。項目越大,跟蹤它們就越困難。類似 Chromium、Firefox、Office、OpenSSL 以及其它的大型代碼庫在這方面都存在這樣的問題,你可以從它們的變更日誌中看到大量的這類問題修復。
「Checked C 允許程序員更好的描述他們想要如何使用指針,以及指針應該指向的內存範圍」,微軟說,「這個信息可以用於在運行時環境中添加檢測,以偵測錯誤的數據訪問,而不是讓錯誤悄悄的發生而無所察覺。」
Checked C 給 C 語言添加了邊界檢查
Checked C 也將允許開發者檢測到他們以為 C 語言有、而實際卻沒有的功能誤用。按編程的說法來說,這個叫做「 邊界檢查 」的功能,用於檢查變數/指針是否在它的範圍之內賦值。
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
More in:Linux中國
如何通過 VLC 使用字幕
使用 VLC 媒體播放器播放和管理字幕的新手指南。
Unix 桌面:在 Linux 問世之前
僅僅開源還不足以實現開放,還需開放標準和建立共識。
Valve 對於 Ubuntu 的 Snap 版本的 Steam 並不滿意:原因何在
你可能會發現,Snap 版本的 Steam 並不如你期待的那樣好,你怎麼看?
Wine 9.0 發布,實驗性地加入了 Wayland 驅動
Wine 的這個新版本正在為未來做好準備!