169 похожих чатов

Кстати, вопрос не по теме ассемблера, но может кто знает.

Почему для разработки ОС, программирования под микроконтроллеры чаще используют C а не C++?

12 ответов

19 просмотров

Можно и С++. Зависит от проекта и целей

Алексей- Автор вопроса
Пользователь 61b4b
Можно и С++. Зависит от проекта и целей

Можно, но Си используют чаще. В чем причина? Тот же линукс написан на си, и, насколько я знаю, переделывать его никто не собирается...

Алексей
Можно, но Си используют чаще. В чем причина? Тот ж...

Ну потому что в микроконтроллерах редко проскакивают проекты, которые легче реализовывать через ООП. А раз ООП нет - зачем использовать С++?

Алексей- Автор вопроса
Пользователь 61b4b
А что там? Ядро на ООП?..

Судя по тому что оно на си нет...

Компактнее

Алексей
Можно, но Си используют чаще. В чем причина? Тот ж...

Потому что в микроконтроллерах ценят ресурсы. Не плохо было бы их ценить и не в рамках микроконтроллера. Когда заходит речь за С++, то львиная доля людей начинает запихивать во всевозможные дыры классы. А это значит что на результирующий код нужна оперативная память, а это деньги и энергия. Единственный ценный инструмент, который есть в С++ это конструкторы и диструкторы, что даёт возможность на стадии компиляции генерировать код. Все остальные плюсы в С++ это только одни минусы. Вообщем если вкратце то СИ даёт возможность писать компактный и энергосберегающий код. Как только вы скажите "ой а кому это надо", сразу привожу пример. Представьте себе что вы делаете, например, водосчётчик. Это устройство обязано работать от батареи. Применяя С++ вы вынуждены взять более мощный процессор, или потратить больше времени на исполнение кода, измеряющего поток воды в трубе. В итоге ваше устройство, допустим, проработает 3 года. Сделав такое же самое устройство на СИ, вы экономите ресурсы, то есть берёте более дешёвый процессор и тратите меньше инструкций на исполнение кода, что приводит к работе устройства до 5-ти лет. Итак, вы пришли в магазин и на прилавке два водосчётчика , один работает 3 года, второй 5 лет, и цена первого больше чем второго. Какой товар вы выберите ? Можно ещё написать код на ассемблере, и достичь ещё больших результатов, чем, собственно говоря, и занимаются китайцы.

Robus F.
Потому что в микроконтроллерах ценят ресурсы. Не п...

все остальные плюсы это только минусы - ну так не пишите о том чего не знаете не знаете плюсов - так и скажите, что вы за чушь пишете вот для таких как вы видео есть, посмотрите и подумайте о том почему же вы на самом деле такого мнения о плюсах https://youtu.be/D7Sd8A6_fYU

Ruslan Neshta
все остальные плюсы это только минусы - ну так не ...

Ну конечно не знаю, что любое обращение в классе вызывает вызов процедур через поинтер, то есть это ТАКТЫ !!! Вы же в курсе что такое такты ??? Живите в своём мирке где объекты это прямые вызовы. Ещё раз повторяю, - только конструктор/диструктор позволяет сделать прямой вызов минуя классы. Все остальные потуги это пустая трата ресурсов людей не способные описать в НУЖНЫХ местах ссылки на процедуры, а не везде, из-за того, что кто-то ширашит в С++.

Robus F.
Ну конечно не знаю, что любое обращение в классе в...

"Живите в своём мирке где объекты это прямые вызовы" Сильное заявление. Всю жизнь писал на С++, и никогда не было трудно просто взять, и написать что-то на Си. И тут мирок совсем не причём. С++ = Си в одной сфере, пусть и в различиях (хотя, это улучшения: Си + Улучшения = С++, а Си остаётся там же)

Похожие вопросы

Обсуждают сегодня

Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта