跳至內容

不安全程式碼

語言的這些部分被認為是不安全的

「不安全」表示有可能導致記憶體損壞、區段錯誤和崩潰。例如

a = 1
ptr = pointerof(a)
ptr[100_000] = 2 # undefined behaviour, probably a segmentation fault

然而,常規程式碼通常不會涉及指標操作或未初始化的變數。而 C 綁定通常會被封裝在安全的包裝器中,這些包裝器包含空指標和邊界檢查。

沒有任何語言是 100% 安全的:某些部分不可避免地會是底層的、與作業系統介接並涉及指標操作。但是一旦您將其抽象化並在更高的層級上運作,並假設(在數學證明或徹底測試之後)較低層是安全的,您就可以確信您的整個程式碼庫是安全的。