-
- Ядро - понятие растяжимое. Тот же clang рекламируется, как ориентированный на RISC-архитектуру, тогда как это целый зоопарк малопохожих друг на друга процессоров/контролеров. Скажем, AVR, STM8, ARM, RISC-V - все относятся к RISC-архитектуре, но Ксения(413 знак., 03.01.2019 12:12)
- STM8 не RISC, а совсем даже CISC - AlexG(03.01.2019 12:57)
- Clang - это фронтенд, который генерирует промежуточный код для llvm. И clang и llvm модульные, под каждую архитектуру идет свой набор модулей, разрабатываемых независимо от других. evgeniy1294(130 знак., 03.01.2019 12:32)
- Тогда именно от модуля и зависит качество компиляции :). А о том, как компиляторы надо писать, куча книг и учеников написана, но все они не доводят дело до конца, а заканчивают дело на коде для виртуальной машины, переход от которой к Ксения(232 знак., 03.01.2019 12:57)
- Clang/llvm построены очень разумно. Первый обрабатывает сорец, выполняет независимые от процессора оптимизации и тыды. Второй выполняет оптимизацию под целевой процессор. - LightElf(11.01.2019 15:53)
- llvm тоже модульный, затачивается под конкретную архитектуру. IAR скрорее всего делает что-то похожее. - evgeniy1294(03.01.2019 13:16)
- Тогда именно от модуля и зависит качество компиляции :). А о том, как компиляторы надо писать, куча книг и учеников написана, но все они не доводят дело до конца, а заканчивают дело на коде для виртуальной машины, переход от которой к Ксения(232 знак., 03.01.2019 12:57)
- Ядро - понятие растяжимое. Тот же clang рекламируется, как ориентированный на RISC-архитектуру, тогда как это целый зоопарк малопохожих друг на друга процессоров/контролеров. Скажем, AVR, STM8, ARM, RISC-V - все относятся к RISC-архитектуре, но Ксения(413 знак., 03.01.2019 12:12)