2017-07-30 40 views
-5

刪除此話題,因爲人們只是在UB停止會發生什麼...在Linux的glibc如果保持日益訪問內存超過的malloc()分配的大小

+1

未定義的行爲未定義。這種語言通常會讓你像這樣在腳下射擊自己。未經檢查的訪問速度更快。 – AndyG

+0

對於「如果我(不允許我這樣做的事情)會發生什麼事情」的答案通常是允許程序從字面上做任何事情。 – user2357112

+0

我不認爲這應該因爲不清楚而關閉。佈雷特特意詢問在這種情況下發生了什麼行爲。 – EvilTeach

回答

5

訪問的東西所分配的內存之外是undefined behavior。任何事情都可能發生。我聽說鼻子惡魔是一種可能性。

nasal demons

如果你真的很幸運,你可能會得到一個訪問衝突/段錯誤。如果你不幸運,那麼程序中的其他變量可能會被覆蓋,或者沒有任何可觀察到的事情可能發生,月亮可能會變成7UP標誌,或者可能是一些令人討厭的東西擠出你的右鼻孔。

+0

不是downvoter。我喜歡那個[你這樣做](https://stackoverflow.com/a/13444785/27678) – AndyG

+0

總得以某種方式驅動點家:)另外我委託並擁有圖像。 – EvilTeach

+0

我不想告訴你這一點,但通過分享它,你不再擁有它[法律](https://stackexchange.com/legal) – AndyG