Отговори на тема  [ 35 мнения ]  Отиди на страница Предишна  1, 2, 3
Интересно поведение на GCC 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Интересно поведение на GCC
води се унарен оператор на самия компилатор и като резултат дава число...
https://bg.wikipedia.org/wiki/%D0%A3%D0 ... 0%B8%D1%8F

_________________
main[-1u]={1};


Вто Ное 12, 2019 10:50 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4194
Местоположение: Brussels / Пловдив
Мнение Re: Интересно поведение на GCC
slav4o.com написа:
@ec1832:
main.c:583:19: error: variable length arrays are not supported
това съобщение изкарва XC8. Даже някъде бях чел, че дори за локалните променливи е заделено мястото в паметта.
За други компилатори вероятно е другояче.

То си е цяло чудо да пишеш на C за такава скопена архитектура като 8-битовите ПИК-льовци - в смисъл, че архитектурата няма стек и няма как да се поддържат стекови локални променливи по същият начин както на архитектурите където го може. То това май е характерно за всички 8 битови архитектури от 7-те - не се сещам за нито една в която достъпът до стека да е удобен за Ц компилатор.
  • 6502 - той на практика няма достатъчно стек за данни - но пък има достатъчно гъвкави адресации с които да може да се иземулира
  • 8080 - там стек много но няма удобни инструкции за достъп и генерираният код е ужасен - чак в Z80 е малко по добре, но той е проектиран от екипа работил по 8086 та вече са имали едно на ум как да го оправят
  • 6800 - горе долу същото положение като на 8080
  • PIC1650 - първоначалният модел на PIC от '75 е най-скопен от всички от това поколение. Няма стек, няма индексни регистрин, паметта му е малко и за код и за данни - направо е чудо, че все пак може да се пише на C - но то си има цена - локалните променливи и аргументи на функции са на практика глобални т.е. ако нямаш рекурсия (явна или скрита) ще работи.
Обаче най показателното е, че от всички тези първоначални процесори само най-скопеният ПИК все още го има в широка употреба, че даже има и оптимизиращ Ц компилатор за него ;)

_________________
Мразя да мразя ...


Сря Ное 13, 2019 10:55 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27994
Местоположение: София
Мнение Re: Интересно поведение на GCC
8051 и все още се произвеждат не малко чипове с това ядро, там стека е много по добре от колкото при пик, доколкото изобщо може да се говори за използваем стек при пик.


Сря Ное 13, 2019 4:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4715
Мнение Re: Интересно поведение на GCC
с едно уточнение, PIC не означава PIC8 и никога не е мислен да бъде процесор, има си нишата - пълни си е...

те затова купиха Atmel да имат останалото :)

_________________
main[-1u]={1};


Сря Ное 13, 2019 6:52 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Окт 11, 2011 10:53 pm
Мнения: 4194
Местоположение: Brussels / Пловдив
Мнение Re: Интересно поведение на GCC
ToHu написа:
8051 и все още се произвеждат не малко чипове с това ядро, там стека е много по добре от колкото при пик, доколкото изобщо може да се говори за използваем стек при пик.

8051 е от 1980 т.е. по нов е и от 8086 ... първообразът му е 8048 който е '76 и е един дол дренки като 8080.

_________________
Мразя да мразя ...


Сря Ное 13, 2019 10:20 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 35 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни