Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
28.10.2010, 11:53
|
|
Заблокирован
Регистрация: 26.10.2010
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Си - это сложно и непонятно или нет?
Сообщение от Gnider
|
Сейчас уже,если нет реглигиозных убеждений или специфических задач LPC,STM32 нужен всегда
|
Всегда нужны мозги и средства разработки/отладки, остальное по задаче.
|
|
|
|
28.10.2010, 11:55
|
|
Вид на жительство
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
|
Re: Си - это сложно и непонятно или нет?
Сообщение от Easyrider83
|
Ничего себе! Из моего оффтопика цела тема выросла за ночь. И вроде не поливал и не удобрял.
|
Ну не Вы удобряли так другие под`удобрили сходив побольшому на ветке. А ведь это тоже удобрение
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
|
|
|
|
28.10.2010, 11:55
|
|
Вид на жительство
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
|
Re: Си - это сложно и непонятно или нет?
Сообщение от ttss
|
Всегда нужны мозги и средства разработки/отладки, остальное по задаче.
|
Адназначна.
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
|
|
|
|
28.10.2010, 11:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Си - это сложно и непонятно или нет?
Сообщение от Easyrider83
|
Ничего себе! Из моего оффтопика цела тема выросла за ночь. И вроде не поливал и не удобрял.
|
Холивары на тему "какой компилятор лучше" или "какой язык программирования лучше" или вообще "какой ( подставить нужное слово) лучше" сами по себе имеют хорошую почву. Сколько людей - столько и мнений.
|
|
|
|
28.10.2010, 13:24
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: Си - это сложно и непонятно или нет?
Сообщение от Gnider
|
В том то и проблема что из-за 8-битности трудно использовать Си,ибо код при умножении скажем двух 32-битных чисел получается громадным.
|
Пример неудачный. По двум причинам.
1. При умножении, для AVR код получается не очень большой. Ввиду наличия в системе команд команд умножения и полным битам состояния проца. Скажем для PIC16, x51, код будет значительно большим. Для деления двух 32 битных чисел или для работы с плавучкой, код действительно большой. И что из этого?
2. Для PDP11 (по поводу вами приведенного UNIX и Си) код умножения будет больше чем для AVR.
Всё это доказывает, что ...
1. язык Си существует сам по себе и не привязан к конкретной архитектуре или битности процессора. Более того, это относится и к любому другому языку. На то они и создавались.
2. Даже при написании программы на ассемблере, приходится учитывать особенности процессора. Например, наличие кэша, наличие предсказаний ветвления, поддержку груповых операций, трёхадресность, особенности адресации и т.д. и т.п. Причём на асме об этом приходится думать больше.
3. Под конкретную задачу выбирается проц, а не что-нибудь другое. Иными словами, если работа с плавучкой слишком сложна для данного процессора, то причём здесь компилятор? Чем тут поможет программирование на ассемблере? Будет ли программирование на ассемблере удобнее чем на Си?
Цитата:
|
А насчет реализации системы команд. Если приходится юзать асм вставки,значит есть претензии к компилятору,а у него - к системе команд.
|
Ещё раз вам повторяю. И не я один. Нет не приходится!!! Всё можно реализовать в рамках языка. Асмовые вставки появляются только либо от незнания языка либо от желания оптимизировать быстродействие конкретного куска программы. Часто тоже по незнанию.
Приведу пример. Давече в одной ветке видел. Автор применяет конструкцию типа x = f % 8. Ему kison указывает, что это можно заменить на x = f & 7. Автор говорит - а нафига, если и так работает.
А вот нафига. В варианте kison компилятором будет сгенерирована одна команда (2 байта кода + 1 такт). В варианте автора будет вызвана процедура деления из состава библиотеки компилятора и взят остаток от деления. В зависимости от разрядности операндов может быть затрачено до 1000 тактов. И причём здесь компилятор? Причём оверхед будет на любом проце. kison об этом знает, а автор - нет.
Цитата:
|
Для меня самое важно связка "компилятор-система команд",а не "человек-система команд".
|
У меня есть исходники которые компилируются сразу под 2 процессора. Причём с разной разрядностью. Причём эта разрядность учитывается. Не всё зависит от компилятора. Иначе нафига мы были бы нужны.
|
|
|
|
28.10.2010, 13:35
|
|
Заблокирован
Регистрация: 08.08.2007
Сообщений: 2,843
Сказал спасибо: 378
Сказали Спасибо 1,368 раз(а) в 746 сообщении(ях)
|
Re: Си - это сложно и непонятно или нет?
Сообщение от OneTech
|
Мой вывод такой что эта ветка безполезна, дублирует она многие другие на других форумах, каждый останется при своём мнении, и делать будет так как удобно, привычно и быстрее.
|
Это касается только упёртых. Те, кто только начинает и ищет, им - полезно будет. Для тех, кто анализировать привык - им полезно. А упёртым - это их проблемы... Будут упираться - отстанут. Поэтому не стоит беспокоиться про упёртых.
|
|
|
|
28.10.2010, 13:59
|
|
Вид на жительство
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
|
Re: Си - это сложно и непонятно или нет?
Дело может закончиться - "сам дурак!" Как кто-то писал на этом форуме, что эта фраза применяется когда заканчиваются аргументы.
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
|
|
|
|
28.10.2010, 14:05
|
|
Почётный гражданин KAZUS.RU
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
|
Re: Си - это сложно и непонятно или нет?
Да я тоже когда-то дрочил с пиками,авр,с51 и оптимизировал каждый байт,но это было отчасти от бедности фирмы,а с другой стороны от отсутствия альтернативы.
Теперь все это есть и абсолютно не вижу смысла в 8-битниках,кроме специфичных задач.
|
|
|
|
28.10.2010, 14:10
|
|
Заблокирован
Регистрация: 19.10.2010
Сообщений: 152
Сказал спасибо: 8
Сказали Спасибо 23 раз(а) в 18 сообщении(ях)
|
Re: Си - это сложно и непонятно или нет?
Сообщение от OneTech
|
Дело может закончиться - "сам дурак!"
|
Ничего, пусть мальчишки поплюются.....какой холивар без этого)))))))))
|
|
|
|
28.10.2010, 14:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 28.02.2010
Сообщений: 2,297
Сказал спасибо: 53
Сказали Спасибо 461 раз(а) в 392 сообщении(ях)
|
Re: Си - это сложно и непонятно или нет?
Сообщение от SasaVitebsk
|
Всё можно реализовать в рамках языка. Асмовые вставки появляются только либо от незнания языка либо от желания оптимизировать быстродействие конкретного куска программы. Часто тоже по незнанию.
|
Пример:
Нужно выдвинуть байт в порт , плюс- защёлкнуть,2 раза... И так 150 байт, меньше ,чем миллисекунда . Конструкциями ›› , плюс выделить бит , плюс 2 строба, Ну- НИИкак не добиться ...
...
;#asm
ROR R19
OUT 0x15,R19
SBI 0x18,0
SBI 0x12,5
CBI 0x18,0
CBI 0x12,5
;#asm
ROR R19
OUT 0x15,R19
SBI 0x18,0
SBI 0x12,5
CBI 0x18,0
CBI 0x12,5
...
и так 8 раз....подскажите,как в С это быстрее сделать?
(это мало того, я для вывода - целый Порт освободил, что-бы напрямик , без анализа бита)
я- в С- ТОлько сейчас пишу, просто заявление , что асмовские вставки по неумению делаются, можно и стандартными средствами языка.. НЕуместны.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:49.
|
|