>Почитайте Dragon book (Компиляторы, принципы, технологии и инструментарий, Ахо, Сети, Ульман и >уже Лам) xtx про структуру любого компилятора, хотябы того же gcc. >Сейчас любой компилятор фактически переводит программу в некий байткод, выполняет отпимизации >и потом байткод переводит в нативный. Для чего это сделано - >для упрощения: перевод в байткод является language specific задачей, оптимизация и >перевод в нативный код - уже общая задача для всех языков. Согласен, любой компилятор оптимизирует код. Но! Любой скомпилированный код всегда выполняется быстрее и с меньшими накладными затратами на реальной машине, чем на виртуальной.
|