Осмысленность можно понять если знать историю.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 10 декабря 2004 г. 20:33
В ответ на: Потому что так положено. отправлено Yuriy 10 декабря 2004 г. 19:47

Исторически сложилось так, что одним из первых компьютеров, для которого был сделан компилятор Си, являлся PDP-11. У этого провессора не было возможности разделения 16-разрядных регистров на отдельные байты (как, например, у I80x86), поэтому код символа всегда занимал весь регистр полностью, хотя реально требовалась только половина регистра. Поэтому и функция имела аргумент типа int и возвращала результат тоже типа int.
И MSP430 также имеет такую же особенность.
Но это абсолютно не значит, что абсолютно всегда, в обязательном порядке требуется придерживаться "стандарта". Если процессор 8-разрядный, то в целях повышения эффективности можно написать свои аналогичные функции, которые имеют тип аргумента и результата char. Возможно это может сказаться на переносимости программы, но если изначально иметь в виду возможность переноса программы на разные платформы, то программу можно оформить всегда так, чтобы проблем с переносом практически не было.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru