C ++ на микроконтроллерах с малой занимаемой площадью

Мне кажется, что люди постоянно уклоняются от использования C ++ в микроконтроллерах или, скорее, решительно выступают против его использования, но я не могу понять, почему. Если вы избегаете больших библиотек C ++ (например, STL) и не пытаетесь использовать сложные функции, такие как RTTI или обработка исключений, действительно ли есть заметная разница между C и C ++? Виртуальное наследование оказывает огромное влияние на сложность или занимаемую площадь? Я бы подумал, что это будет немного дополнительной памяти, но большая часть сложности будет обработана компилятором, но, опять же, я мало что знаю об этой темной магии. Я просто не понимаю, почему люди так непреклонны в использовании C, за исключением, может быть, нескольких архитектур, для которых нет компиляторов C ++ (если они есть). Кажется, преимущества модульности и шаблонов будут очевидными, даже если вы не сможете использовать свой cin или cout.

Я спрашиваю, потому что провожу исследования для некоторых хобби-проектов, над которыми я хотел бы работать. В идеале, я хотел бы работать с C ++ строго для возможности красиво модулировать вещи, в отличие от подхода C "SomeClass_SomeMethod (struct object * this ...)" к "объектно-ориентированности". (Я бы предпочел Object Pascal для этих проектов, но, увы, поддержка этого языка не совсем удачная ...) Я бы предпочел не переходить на гораздо более мощный микропроцессор, потому что A.для проектов, которые я делаю, мне не нужны тонны ресурсов .. Я не планирую писать 60 состояний фильтров Калмана или кодировать видео 1080p B. (настоящий кикер) Я бы хотел использовать процессоры, доступные в DIP и пакеты QFP. Я хотел бы иметь возможность создавать прототипы без пайки и запекания в тостере.

Есть какие-нибудь мысли?

21
задан Anthony 19 April 2011 в 02:25
поделиться