-軟體運行環境
與 JavaScript、C# 和 Java 不同,C 語言提供編程結構來直接控制硬體並調用操作系統提供的服務。例如,“指針(pointer)”用於操作靜態或動態分配的內存。
使用 JavaScript、C# 和 Java 開發的應用程序是託管應用程序,並在運行時環境或沙箱中執行。例如,基於 .NET 框架的 C# 應用程序(編譯為 MSIL)、Java 虛擬機 (JVM) 中的 Java 應用程序以及瀏覽器或 Node.js 運行時中的 JavaScript。
託管應用程序中可能會發生緩衝區溢出。但是,它們通常由運行時或沙箱很好地管理。C 應用程序自己管理內存;它們更容易受到緩衝區溢出攻擊。
資料來源: Wentz Wu QOTD-20211102
PS:此文章經過作者同意刊登 並且授權可以翻譯成中文