Почему код ассемблера часто
нужен вместе с C / C ++?
Конкурентное преимущество. Например, если вы пишете программное обеспечение для (в ближайшее время) игровой компании № 1 в мире.
Что нельзя сделать в C / C ++, что
возможно при коде ассемблера
смешано?
Ничего, если не требуется какой-то абсолютный уровень производительности, скажем, X кадров в секунду или Y миллиардов полигонов в секунду.
Редактировать: судя по другим ответам, похоже, что все встраиваемые системы (iPhone, Android и т. Д.) Имеют аппаратные ускорители, которые, безусловно, требуют использования сборки.
У меня есть некоторый исходный код какой-то 3D
компьютерные игры. Есть много
Используется ассемблерный код.
Они либо написаны в 80-х-90-х годах, либо используются редко (возможно, 1% - 5% от общего исходного кода) внутри игрового движка.
Редактировать: на сегодняшний день качество авто-векторизации компилятора все еще низкое. Таким образом, вы можете увидеть программы, которые содержат встроенные векторизации, и, поскольку они не сильно отличаются от записи в реальной сборке (большинство встроенных функций имеют однозначное сопоставление с инструкциями сборки), некоторые люди могут просто решить написать в сборке.
Обновление:
Согласно неподтвержденным данным, RollerCoaster Tycoon написан на 99% сборке.
http://www.chrissawyergames.com/faq3.htm