Евгений Музыченко

Previous Entry Share Next Entry
Плюсовый минимализм :)
emuzychenko
В фидошке теоретики опять завели дискуссию о том, насколько код на C++ по сути своей тормозной и неуклюжий. :) Вспомнил пору своей юности, когда ничего слаще TC++ 2.0 еще не было, и когда я думал так же. :) Сейчас достал из загашника и окультурил три примерчика.

Один - примитивная программка мигания светодиодом для AVR (под WinAVR и ATTiny13). Это мне приспичило на шаблонах и наследуемых классах сделать управление выходными линиями - получилось развесисто и коряво, но g++ из этого делает точно такой же по объему и скорости код, как и из обычного сишного текста.

Второй и третий - минималистические (каждый EXE - 1024 байта) программки под Win32. Там их две: вывод "Hello, world!" на консоль, и отображение окна с простым встроенным редактором. Каждая - на C (в последовательном коде) и C++ (через наследуемые классы). Тут MSVC сделал тоже идентичный код, отличающийся только порядком некоторых команд.

Я в своих ядерных драйверах такими фишками развлекаюсь уже лет пятнадцать, последние несколько лет у меня там наворочены многуровневые виртуальные классы с перегрузками, а код по-прежнему генерится предельно компактный, ибо оптимизатор у MSVC очень даже неплохой.

?

Log in

No account? Create an account