Главная страница


ru.nethack

 
 - RU.NETHACK -------------------------------------------------------------------
 From : Alexey Orlov                         2:5026/60.11   16 Apr 2000  22:06:08
 To : Alexey Morenets
 Subject : cpыв   cтека
 -------------------------------------------------------------------------------- 
 
 
  Мои бортовые системы запеленговали, что в Пятница Апрель 14 2000 07:40, Alexey 
 Morenets писал All:
 
  AM> Hа счет исполнения кода в стеке (это очевидно как то связано с
  AM> локальной таблицей дескрипторов) малинький примерчик
  AM> но вот как он работает понять не могу
 
  AM> typedef void (*Func)(void);
  AM> int main(){
  AM>  char a[]="\xC3\0\0\0";
  AM>  Func f;
  AM>  f=a;
  AM>  f();
  AM>  return 0;
  AM> }
 
   А это очень просто работает!
  Дело в том, что переменная a[] есть ни что иное как указатель на область памяти
 с массивом символов. И именно этот указатель и создается в стеке, а не весь
 массив, который должен находиться в сегменте инициализированных данных.
  Hадеюсь понятно объяснил.
                 C уважением, Alexey Orlov.
 --- УТВЕРЖДАЮ. MSG-редактор капитан 2.5 ранга Голд Дедович фор ДОС UNREG
  * Origin: Живота или смерти проси у боярыни! (2:5026/60.11)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 cpыв cтека   Alexey Orlov   16 Apr 2000 22:06:08 
Архивное /ru.nethack/2226938fa3a8f.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional