man page – Russian Translation – Keybot Dictionary

Spacer TTN Translation Network TTN TTN Login Deutsch Français Spacer Help
Source Languages Target Languages
Keybot      2'446 Results   53 Domains
  4 Hits www.styldecor.be  
Next man page
Scroll to bottom
  2 Hits www.top-hotels-puertorico.com  
Previous man page
Next man page
  2 Hits www.wachtpostzennevallei.be  
Next man page
Edit Report a Bug
  2 Hits www.relax21.cz  
Previous man page
Change language:
  www.viva64.com  
Though the man page for the alloca function clearly reads that it "is machine- and compiler-dependent; on many systems it cannot be used properly and may cause errors; its use is discouraged", programmers still use it.
Однако динамическая память является довольно медленной в плане выделения и освобождения (поскольку этим занимается операционная система), кроме того, при прямом доступе приходится вручную выделять её и освобождать. Память же в стеке выделяется очень быстро (по сути, надо лишь изменить значение одного регистра), кроме того, у объектов, выделенных в стеке, автоматически вызываются деструкторы при возврате управления функцией и очистке стека. Разумеется, тут же возникает желание получить память из стека. Поэтому третий путь к переполнению - самостоятельное выделение в стеке памяти программистом. Специально для этой цели библиотека языка Си предоставляет функцию alloca. Интересно заметить, что если у функции для выделения динамической памяти malloc есть свой "близнец" для её освобождения free, то у функции alloca его нет - память освобождается автоматически после возврата управления функцией. Возможно, это только осложняет ситуацию - ведь до выхода из функции освободить память не получится. Даже несмотря на то, что согласно man-странице "функция alloca зависит от машины и компилятора; во многих системах ее реализация проблематична и содержит много ошибок; ее использование очень несерьезно и не одобряется" - она все равно используется.