реклама на сайте
подробности

 
 
> Про реентерабельность, малоизвестная фича GCC
_Pasha
сообщение Feb 15 2009, 23:51
Сообщение #1


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Только не говорите, что знали и часто пользуетесь! smile.gif

В общем, тем, кому позарез нада получить сабж, оказалось все очень просто

Код
void somefunc (volatile int param)

  volatile int local1;
  volatile char local2;
//body
local1 |= param;
return;
}


Как объявили все volatile - компилятор все, включая входные параметры, кладет в стек-фрейм.

И логика проста: без соответствующих оптимизаций функции генерятся реентерабельными. Volatile как-раз и отключает эту оптимизацию локальных переменных.

В общем, в мануале ГЦЦ настолько туманно это описано, что побудило поделиться радостной новостью.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Pasha   Про реентерабельность   Feb 15 2009, 23:51
- - Rst7   Вы меня, конечно, извините, но это - "ацкий б...   Feb 16 2009, 00:13
- - Сергей Борщ   Цитата(_Pasha @ Feb 16 2009, 01:51) Как о...   Feb 16 2009, 00:37
|- - _Pasha   Цитата(Сергей Борщ @ Feb 16 2009, 03:37) ...   Feb 16 2009, 07:10
|- - aesok   Цитата(_Pasha @ Feb 16 2009, 10:10) Обесп...   Feb 16 2009, 07:51
|- - demiurg_spb   Цитата(aesok @ Feb 16 2009, 10:51) В Атме...   Feb 16 2009, 09:10
|- - ReAl   Цитата(aesok @ Feb 16 2009, 09:51) В Атме...   Feb 16 2009, 09:56
- - Rst7   ЦитатаВот условия реентерабельности: Тут _Pasha и...   Feb 16 2009, 08:26
|- - Сергей Борщ   Цитата(Rst7 @ Feb 16 2009, 10:26) Тут _Pa...   Feb 16 2009, 08:51
|- - _Pasha   Цитата(Rst7 @ Feb 16 2009, 12:26) Тут _Pa...   Feb 16 2009, 23:30
|- - ReAl   Цитата(_Pasha @ Feb 17 2009, 01:30) Кодty...   Feb 17 2009, 07:50
|- - _Pasha   Цитата(ReAl @ Feb 17 2009, 10:50) возможн...   Feb 17 2009, 08:27
|- - ReAl   Цитата(_Pasha @ Feb 17 2009, 10:27) Если ...   Feb 17 2009, 16:40
|- - ReAl   Цитата(ReAl @ Feb 17 2009, 18:40) Не увер...   Mar 15 2009, 12:52
- - _Pasha   Цитата(Rst7 @ Feb 16 2009, 03:13) Куда бе...   Feb 16 2009, 08:46
- - Rst7   Че то я уже не пойму. Судя по предыдущей теме, ник...   Feb 16 2009, 09:08
- - Rst7   Лучше бы - не ядро править, а в компиляторы вменяе...   Feb 16 2009, 10:12
|- - ReAl   Цитата(Rst7 @ Feb 16 2009, 12:12) Лучше б...   Feb 16 2009, 20:42
- - Rst7   Нет, с плюсами конечно, неплохо получается. Но хот...   Feb 16 2009, 21:52
|- - ReAl   Цитата(Rst7 @ Feb 16 2009, 23:52) Нет, с ...   Feb 16 2009, 22:11
- - _Pasha   В общем, пока ясно одно: нельзя смешивать синхронн...   Feb 17 2009, 17:05
- - _Pasha   Еще одна ТАСКАЛКА (от слова task) получилась. Не...   Sep 13 2009, 07:01
|- - ReAl   Цитата(_Pasha @ Sep 13 2009, 10:01) Еще о...   Sep 13 2009, 09:21
|- - _Pasha   Цитата(ReAl @ Sep 13 2009, 12:21) Да, sys...   Sep 13 2009, 11:55
|- - ReAl   Цитата(_Pasha @ Sep 13 2009, 14:55) Имхо,...   Sep 13 2009, 17:02
|- - _Pasha   Цитата(ReAl @ Sep 13 2009, 20:02) Ну и чт...   Sep 13 2009, 20:19
|- - ReAl   Цитата(_Pasha @ Sep 13 2009, 23:19) Допус...   Sep 14 2009, 08:58
- - _Pasha   Понял, спасибо. Но не сразу Если локальных параме...   Sep 15 2009, 05:17
- - _Pasha   Кстати, о protothread parallel.h CODE #ifndef PAR...   Sep 15 2009, 06:42
- - _Pasha   Решил скрестить прототредоподобную кооперативку и ...   Dec 25 2009, 08:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016