Чт май 09, 2013 19:15:48
А мне можно уже узнать? Какое отношение имеет этот квалификатор к расположению переменных вообще?SergeBS писал(а):menzoda писал(а):Ну а где тогда сидят локальные переменные?
Когда понадобится ключевое слово volatile - узнаешь. Скорее всего. Если захочешь...
Чт май 09, 2013 19:19:35
Чт май 09, 2013 19:23:34
Чт май 09, 2013 20:11:37
Совершенно не так. В качестве коллбека рекомендуюSergeBS писал(а):Прямого отношения - не имеет. А косвенно влияет очень сильно. См. описание. Пересказывать не буду. Просто если переменная должна быть доступна из кучи разных мест, то запихивать ее в стек - не получится - накладно. Упрощенно как-то так.
См. описание.
Чт май 09, 2013 20:12:37
Ух ты! А я думал, здесь веселье на одногоHHIMERA писал(а):Виктор, забей!!!
Веселье "состоится при любой погоде"...
Чт май 09, 2013 20:18:15
ut1wpr писал(а):Даже не хотят вспомнить два простых словосочетания - стек данных и стек возврата. Свалили все в кучу. Компилятор умнее их оказался, и пользуется двумя стеками.
Практически все грамотные компилеры позволяют регулировать их соотношения и размеры.
Чт май 09, 2013 20:23:25
ut1wpr писал(а):Совершенно не так.
Чт май 09, 2013 20:26:10
Сколько импрессии! Я в восторге. Вашу бы энергию, да в мирных целях.SergeBS писал(а):ut1wpr писал(а):Даже не хотят вспомнить два простых словосочетания - стек данных и стек возврата. Свалили все в кучу. Компилятор умнее их оказался, и пользуется двумя стеками.
Практически все грамотные компилеры позволяют регулировать их соотношения и размеры.
Да боже ж мой. На картинке еще есть и закладка HEAP Configuration. И шо? Все грамотные компилеры тоже это имеют, а неграмотные не имеют? Так?
Только вот "маленькая" неувязочка. В книжке от производителя почему-то никакого data stack register нетути, а есть main stack, process stack и stack pointer. "Маленькая" разница.
Вспомним до кучи Link Register, чтобы еще больше дело со стеками запутать.
Кучу данных тоже можно организовывать как левой ноге захочется. Соответственно этот "грамотный" компилер - просто предлагает СВОЙ способ, и только. CV AVR тоже имеет визардов, которые кучу всякого могут сделать одним способом из многих. Но из этого не следует, что он умный, а прочие компилеры тупые. Как-то так, ИМХО.
А иначе получим: кто-то (да даже я ради понтов, например ) нацарапает компилер, который исходно будет иметь закладки для просто стека, для стека данных, для кучи, для динамического массива (а можно и для нескольких ), для буферов USART, USB, EtherNet ... И пусть код будет мягко говоря неоптимизирован, зато закладок-то сколько! ГРАМОТНОСТЬ так и прет. УРРЯ, товарищи!
Чт май 09, 2013 20:28:05
В чем мифичность стандартного механизма распределения памяти компиляторов я так и не понял.SergeBS писал(а):ut1wpr писал(а):Совершенно не так.
А таки шо не так? С мифическим data stack вроде разобрались - что его производителем не предусмотрено, а закидоны отдельно взятых компиляторов не в счет. Будем с volatile тоже разбираться? Дык я "за"!
Чт май 09, 2013 21:13:21
ut1wpr писал(а):Я вообще-то говорил о компиляторах от IAR. Без привязки к аппаратным особенностям МК разных мастей.
Чт май 09, 2013 21:21:32
ut1wpr писал(а):В чем мифичность стандартного механизма распределения памяти компиляторов я так и не понял.
Чт май 09, 2013 21:27:23
Потрясающее самомнение. Вы считаете, что вас будут цитировать?SergeBS писал(а):ut1wpr писал(а):В чем мифичность стандартного механизма распределения памяти компиляторов я так и не понял.
В том, что нет такого стандарта - Data Stack. А есть баг/фича от IAR. И только.
Да, целиком мои посты цитировать не обязательно.
Чт май 09, 2013 21:39:30
ut1wpr писал(а):Потрясающее самомнение. Вы считаете, что вас будут цитировать?
Чт май 09, 2013 22:07:06
Чт май 09, 2013 22:32:34
HHIMERA писал(а):А что цитировать то, какие аргументы???
Это всё бред не о чём...
Пт май 10, 2013 00:44:40