The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"procedure prolog"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"procedure prolog" 
Сообщение от lasso Искать по авторуВ закладки on 07-Май-05, 21:05  (MSK)
помогите плз
есть функция

void someFunction(int a, int b, int c, int d) {
   char buffer1[5];
   char buffer2[10];
}
procedure prolog должен быть вроде вот таким

        pushl Кp
movl %esp, Кp
subl $20, %esp

а у меня почему то вот так

        pushl Кp
movl %esp, Кp
subl $40, %esp

проверял в redhat 9 и freebsd 5.3
кто нибудь знает как все это устроено и где прочитать об этом, перерыл до фига сайтов, но ничего не нашел, помогите плз

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • procedure prolog, DeadMustdie, 21:46 , 07-Май-05, (1)  
    • procedure prolog, lasso, 15:04 , 08-Май-05, (2)  
      • procedure prolog, DeadMustdie, 20:09 , 08-Май-05, (3)  
        • procedure prolog, lasso, 21:22 , 08-Май-05, (4)  

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "procedure prolog" 
Сообщение от DeadMustdie emailИскать по авторуВ закладки(??) on 07-Май-05, 21:46  (MSK)
IMHO выравнивание на границу слова.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "procedure prolog" 
Сообщение от lasso Искать по авторуВ закладки on 08-Май-05, 15:04  (MSK)
>IMHO выравнивание на границу слова.

а где про это всё по подробнее прочитать? ссылку можешь дать?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "procedure prolog" 
Сообщение от DeadMustdie emailИскать по авторуВ закладки(??) on 08-Май-05, 20:09  (MSK)
>а где про это всё по подробнее прочитать? ссылку можешь дать?

Всё сильно зависит от применяемого компилятора и целевой платформы.
Стандарт языка C определяет, что адрес переменной выравнивается
как минимум на размер этой переменной, дабы упростить некоторые
техники оптимизации. Для многих архитектур выгодно выравнивать
ещё и на границы слова, либо даже пары слов.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "procedure prolog" 
Сообщение от lasso Искать по авторуВ закладки on 08-Май-05, 21:22  (MSK)
компилятор gcc 3.x ну то что с rh9 и freebsd5.3
тут я проверил на слаке 7.1 там все нормально как полагается, а вот в новых дистрах как я понял там выравнивает аж на несколько слов
то есть если буфер взять например [4] или [8], то все нормально, а вот если [5],[7],[1]0 и т.д то стек получается $24, а при [10] аж $40
интересно, где же то это должно быть описано детально...
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру