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

 
 
> Как в CodeVision работает галочка"Promote char to int"?
-=Женек=-
сообщение Jan 9 2011, 19:38
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Господа, есть вопрос.
Полдня потратил на вылавливание косяка в программе.

Есть функция, которая принимает параметр типа unsigned int:

void Func(unsigned int i)

Косяк был в том, что я подставлял туда переменную типа unsigned char, умноженную на некое число. КОгда произведение unsigned char на это число не превышало 256, все было нормально, когда превышало - начинались косяки.
Т.Е., не важно какого типа переменная произведения, если один из множителей unsigned char, произведение выше 256 никак не получится.

Нашлось 2 решения.
Первое - сделать эту переменную типа unsigned int.
Второе - поставить в настройках галочку - "promote char to int".

По последнему пункту вопрос - что все-таки делает эта галка? Преобразуетт char в int по необхоидмости, или же преобразуются все char переменные?
Меня беспокоит экономия памяти, вот я и думаю - какое из приведенных решений рациональней - первое или второе?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-=Женек=-
сообщение Jan 11 2011, 14:00
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



XVR, спасибо, но дело не в этом. ПРоблемы то не существует, есть два решения, вы просто предложили третье. Я всего лишь хотел знать - чем чревато жесткое включение приведения типов указанной галочкой.
Go to the top of the page
 
+Quote Post
XVR
сообщение Jan 11 2011, 14:25
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(-=Женек=- @ Jan 11 2011, 20:00) *
Я всего лишь хотел знать - чем чревато жесткое включение приведения типов указанной галочкой.
Тем, что CV нагенерит много лишнего кода, что отрицательно скажется на размере занятого FLASH (и может быть на скорости работы). Может отрицательно сказаться и на работоспособности, если где то 'программист' (именно так - в кавычках) заложится на 8ми битную арифметику с char

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- -=Женек=-   Как в CodeVision работает галочка"Promote char to int"?   Jan 9 2011, 19:38
- - WHALE   Цитата(-=Женек=- @ Jan 10 2011, 01...   Jan 10 2011, 05:31
- - -=Женек=-   ЦитатаВ вашем случае это не поможет-только первый ...   Jan 10 2011, 06:43
|- - WHALE   Цитата(-=Женек=- @ Jan 10 2011, 12...   Jan 10 2011, 07:56
|- - XVR   Цитата(WHALE @ Jan 10 2011, 13:56) Странн...   Jan 11 2011, 06:05
- - sigmaN   И ещё раз скажу это: CodeVision в топку!!...   Jan 10 2011, 09:25
|- - Lmx2315   тут обсуждали преобразование типов в CV http://el...   Jan 11 2011, 14:52
- - -=Женек=-   Цитатачто отрицательно скажется на размере занятог...   Jan 11 2011, 14:54
- - sigmaN   Да ладно вам, люди. Уж что что, а начинать и привы...   Jan 11 2011, 18:27
- - Deka   А вот с этого места поподробнее пожалуйста! Хо...   Jan 14 2011, 16:41
|- - demiurg_spb   Цитата(Deka @ Jan 14 2011, 22:41) А вот с...   Jan 14 2011, 19:22
- - sigmaN   Я бы сказал, что CV использует компилятор с Си-под...   Jan 15 2011, 07:43
- - Deka   Мда... Лажанулся... Прошу прощения. Читал CV, а ду...   Jan 15 2011, 10:53
- - sigmaN   Не, Keil это хорошо. Даже очень хорошо))   Jan 15 2011, 14:29
- - Serj78   Скажу, как пересевший с CV на Кейл К CV возвр...   Jan 16 2011, 19:27


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

 


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


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