|
Вариант для распечатки |
Архивированная нить - только для чтения!
Пред. тема | След. тема | ||
Форумы
Программирование под UNIX (Public)
| |||
|---|---|---|---|
| Изначальное сообщение | [Проследить за развитием треда] | ||
| "fastcall в gcc" | |
Сообщение от dimus ![]() ![]() (ok) on
02-Авг-04, 09:44 (MSK)
| |
Мне очень нравится конвенция fastcall, мой любимый компилятор OpenWatcom ее активно использует. А вот в gcc я fastcall не обнаружил. Подскажите пожалуйста, может я плохо искал? gcc не воспринимает модификатор fastcall, пишет что мол знать ничего не знаю. Может быть это как-то по другому называется, но мне хочется, чтобы параметры в функцию передавались в регистрах, а не через стек. Заранее спасибо. | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
| Оглавление |
|
| Индекс форумов | Темы | Пред. тема | След. тема |
| Сообщения по теме |
| 1. "fastcall в gcc" | |
Сообщение от Soldier ![]() (??) on
02-Авг-04, 11:26 (MSK)
| |
>Мне очень нравится конвенция fastcall, мой любимый компилятор OpenWatcom ее активно использует. | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
| 2. "fastcall в gcc" | |
Сообщение от Soldier ![]() (??) on
02-Авг-04, 11:49 (MSK)
| |
void func(int, int) __attribute__((regparm(2))); | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
| 3. "fastcall в gcc" | |
Сообщение от dimus ![]() (ok) on
02-Авг-04, 13:18 (MSK)
| |
Большое спасибо за помощь! Испробую при первой же возможности. Интересно, а почему указание о передаче параметров через регистры находится за функцией? Это обязательно или можно ставить его в любом месте? И еще: а regparm обязательно должен быть заключен в еще одни скобки, или это для красоты? | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
| 4. "fastcall в gcc" | |
Сообщение от Soldier ![]() (??) on
02-Авг-04, 13:48 (MSK)
| |
>Большое спасибо за помощь! Испробую при первой же возможности. Интересно, а почему | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
| 5. "fastcall в gcc" | |
Сообщение от dimus ![]() ![]() (ok) on
03-Авг-04, 13:13 (MSK)
| |
Почитал, интересно. Однако там я наткнулся на инфу, что если писать в аттрибутах fastcall, то будут использоваться только 2 регистра - EAX & EDX, а используя regparm можно заставить работать и третий - ECX. Тогда, по-моему, лучше в начале программы прописать что-то типа | |
| Рекомендовать в FAQ | Cообщить модератору | Наверх | |
|
Удалить |
Индекс форумов | Темы | Пред. тема | След. тема |
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |