Keil: управление оптимизацией с помощью директивы #pragma |
Добавил(а) microsin |
Директивой #pragma можно управлять уровнем оптимизации последующих функций. Синтаксис: #pragma Onum Здесь nun это новый уровень оптимизации, число от 0 до 3. Чтобы установить новый уровень оптимизации для всех последующих функций в модуле, используйте #pragma Onum. Например, при компиляции armcc -O1: void function1(void) { ... // Оптимизировано на уровне O1 по умолчанию // (из опции командной строки armcc -O1) } #pragma O3
void function2(void) { ... // Оптимизировано на уровне O3 } void function3(void) { ... // Оптимизировано на уровне O3 } Чтобы поменять уровень оптимизации по умолчанию только для одной функции, необходимо комбинировать #pragma Onum вместе с парой функций #pragma push и #pragma pop. Например, при компиляции armcc -O1: void function1(void) { ... // Оптимизировано на уровне O1 по умолчанию // (из опции командной строки armcc -O1) } #pragma push
#pragma O3
void function2(void) { ... // Оптимизировано на уровне O3 } #pragma pop
void function3(void) { ... // Оптимизировано на уровне O1 по умолчанию // (из опции командной строки armcc -O1) } Ограничения по использованию: pragma должна быть применена вне тела функции. [Ссылки] 1. Keil Compiler User Guide #pragma Onum site:keil.com. |