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

 
 
> WinAVR инициализирует все переменные!, Нельзя ли избавить его от этого глупого занятия?
777777
сообщение Apr 25 2008, 11:27
Сообщение #1


Профессионал
*****

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



сабж, собсно...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aesok
сообщение Apr 25 2008, 11:39
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 596
Регистрация: 26-05-06
Из: Москва
Пользователь №: 17 484



Цитата(777777 @ Apr 25 2008, 15:27) *
сабж, собсно...


Это гупостью он занимаеться, для того чтобы соответствовать стандарту языка С.

Анатолий.
Go to the top of the page
 
+Quote Post
777777
сообщение Apr 25 2008, 11:56
Сообщение #3


Профессионал
*****

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



Цитата(aesok @ Apr 25 2008, 15:39) *
Это гупостью он занимаеться, для того чтобы соответствовать стандарту языка С.


Да ну, давно ли? Может еще пунктик стандарта укажете, в котором это предписывается? Значит такое понятие как "неинициализированная переменная" уже не существует? А если мне нужно инициализировать не нулем, а другим числом?

А в С++ он тоже инициализирует? Сначала обнуляет всю память, а котом начинает вызывать конструкторы? Несколько глупо, не так ли?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 25 2008, 13:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(777777 @ Apr 25 2008, 13:56) *
Значит такое понятие как "неинициализированная переменная" уже не существует?

Существует - для определенности она инициализируется нулем. Для инициализвции случайным числом существуют генераторы случайных чисел, однако.
Цитата
А если мне нужно инициализировать не нулем, а другим числом?

Инициализируйте. Никто не запрещает.
Цитата
Несколько глупо, не так ли?

Глупо, это то, что Вы тут пропагандируете.



Цитата(MrYuran @ Apr 25 2008, 14:56) *
вроде как перед объявлением переменной без инициализации надо писать _no_init или чё-то в этом духе

Смотреть документацию на конкретный компилятор в части расширений языка. Для садомазохистов правится startup и убирается инициализация, вообще.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
777777
сообщение Apr 25 2008, 15:16
Сообщение #5


Профессионал
*****

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



Цитата(zltigo @ Apr 25 2008, 17:16) *
Существует - для определенности она инициализируется нулем. Для инициализвции случайным числом существуют генераторы случайных чисел, однако.

Очень смешно.
Цитата(zltigo @ Apr 25 2008, 17:16) *
Инициализируйте. Никто не запрещает.
Глупо, это то, что Вы тут пропагандируете.

Вообще-то инициализация занимает программную память, которой и так немного. Вы считаете глупостью желание ее сэкономить?

Сообщение отредактировал 777777 - Apr 25 2008, 15:17
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 25 2008, 16:08
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(777777 @ Apr 25 2008, 17:16) *
Вообще-то инициализация занимает программную память, которой и так немного.

Программной памяти по нынешним временам "немного" бывает крайне редко. Процедура инициализации занимает порядка 5-10 команд.
Цитата
Вы считаете глупостью желание ее сэкономить?

С учетом эффектов, которых придется получить при работе с неициализированной памятью - это глупость. А с учетом того, что с неициализированной памятью вообще работать невозможно, то ручная индивидуальная инициализация (даже нескольких переменных) займет ресурсов больше, нежели простейшее обнуление всего массива переменных чохом в цикле. И это уже глупость в квадрате.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
singlskv
сообщение Apr 25 2008, 16:40
Сообщение #7


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(zltigo @ Apr 25 2008, 20:08) *
Программной памяти по нынешним временам "немного" бывает крайне редко.
бывает и еще как...
Цитата
С учетом эффектов, которых придется получить при работе с неициализированной памятью - это глупость. А с учетом того, что с неициализированной памятью вообще работать невозможно, то ручная индивидуальная инициализация (даже нескольких переменных) займет ресурсов больше, нежели простейшее обнуление всего массива переменных чохом в цикле. И это уже глупость в квадрате.
Атлична, тогда попробуйте обосновать наличие Retention памяти на некотоорых продвинутых
чипах ...
This LSI has an on-chip high-speed RAM, which achieves fast access, and an on-chip RAM for
data retention, which can retain data in deep standby mode. These memory units can be used to
store instructions or data.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 25 2008, 16:55
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(singlskv @ Apr 25 2008, 18:40) *
бывает и еще как...

Типа пишите на "C", не хватает 10 байт, где ужать не знаете - последний шанс убрать инициализацию памяти и посмотреть что получится. Извините, так, не бывает. (От комментариев у кого так бывает воздержусь smile.gif )
Цитата
Атлична, тогда попробуйте обосновать наличие Retention памяти на некотоорых продвинутых
чипах ...

Это вы вообще к чему а? К тому, что бывает неинициализированная память? Так я ее десять раз на дню пользую - получаю от мененджера памяти на любом, а не только на 'продвинутом' чипе и пользую с ОСТОРОЖНОСТЬЮ и трачу РЕСУРСЫ на начальную инициализацию, там где не обойтись. Какое это отношение имеет к желанию "сэкономить" на инициализации сегмента с "неициализированными" переменными в startup?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 777777   WinAVR инициализирует все переменные!   Apr 25 2008, 11:27
||- - MrYuran   Цитата(777777 @ Apr 25 2008, 18:16) Вообщ...   Apr 25 2008, 15:24
|||- - 777777   Цитата(MrYuran @ Apr 25 2008, 19:24) Откр...   Apr 28 2008, 04:12
|||- - zltigo   Цитата(777777 @ Apr 28 2008, 06:12) Нельз...   Apr 28 2008, 05:47
||||- - 777777   Цитата(zltigo @ Apr 28 2008, 09:47) Нельз...   Apr 28 2008, 06:52
||||- - Сергей Борщ   Цитата(777777 @ Apr 28 2008, 09:40) Посто...   Apr 28 2008, 07:08
||||- - 777777   Цитата(Сергей Борщ @ Apr 28 2008, 11:08) ...   Apr 28 2008, 07:26
||||- - Сергей Борщ   Цитата(777777 @ Apr 28 2008, 10:26) Дважд...   Apr 28 2008, 07:47
|||||- - zltigo   Цитата(Сергей Борщ @ Apr 28 2008, 09:47) ...   Apr 28 2008, 09:39
|||||- - Сергей Борщ   Цитата(zltigo @ Apr 28 2008, 12:39) Не бу...   Apr 28 2008, 11:24
|||||- - zltigo   Цитата(Сергей Борщ @ Apr 28 2008, 13:24) ...   Apr 28 2008, 11:36
||||- - xelax   Цитата(777777 @ Apr 28 2008, 11:26) Дважд...   Apr 28 2008, 07:52
|||- - xelax   Цитата(777777 @ Apr 28 2008, 08:12) Во-вт...   Apr 28 2008, 06:00
||- - singlskv   Цитата(zltigo @ Apr 25 2008, 20:55) Типа ...   Apr 25 2008, 18:42
||- - IgorKossak   Цитата(singlskv @ Apr 25 2008, 21:42) каж...   Apr 25 2008, 19:23
|||- - singlskv   Цитата(IgorKossak @ Apr 25 2008, 23:23) Н...   Apr 25 2008, 19:33
||- - zltigo   Цитата(singlskv @ Apr 25 2008, 20:42) Ну ...   Apr 25 2008, 19:40
||- - singlskv   Цитата(zltigo @ Apr 25 2008, 23:40) Это в...   Apr 25 2008, 19:56
|- - aesok   Цитата(777777 @ Apr 25 2008, 15:56) Да ну...   Apr 25 2008, 13:56
|- - ReAl   Цитата(777777 @ Apr 25 2008, 14:56) Да ну...   Apr 25 2008, 14:48
- - MrYuran   где-то я это уже видел... не помню где... вроде ка...   Apr 25 2008, 12:56
- - Aleksandr Baranov   Так ведь это уже обсуждалось пару дней назад. The...   Apr 25 2008, 13:43
- - singlskv   Цитата(Aleksandr Baranov @ Apr 25 2008, 17...   Apr 25 2008, 14:09


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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 17:12
Рейтинг@Mail.ru


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