1
我很好奇爲什麼大多數本地語言(包括C,C++和D)未定義堆棧溢出行爲。是否因爲它需要檢測每個堆棧變量分配和函數調用,這反過來又會使代碼變得非常慢? Evenso,只有當編譯器提供了一些額外的詳細調試標誌時,才能啓用它。本地語言中的堆棧溢出行爲
我問這是因爲我在使用C99可變長度數組(VLA)和C功能alloca
編寫C++時代碼的感覺可疑。對於一些內存處理密集型算法,這可能會導致顯着的加速。
我猜這個問題已被問了很多次,但我似乎無法找到stackexchange上的相關文章。
在C語言中,至少,標準甚至不需要堆棧的*存在*。這使得標準化的堆棧溢出處理有點多問。儘管如此,大量的操作系統和其他環境確實提供了這種支持。 – 2013-04-07 21:53:56