Как частично переключать уровень оптимизации компилятора для каждой функции?

Как я могу переключить уровень оптимизации моего компилятора (xc16) на другой уровень для каждой функции?

Например:

void _ISR _T1Interrupt    //compile with O0
{
.....
}

int_16_t main (void)         //compile with O2
{
.....
}

person Mike    schedule 13.07.2018    source источник


Ответы (1)


Я нахожу решение:

__attribute__((optimize("-O0"))   //optimization for the next function is O0
void _ISR _T1Interrupt            //compile with O0
{
.....
}

__attribute__((optimize("-O2"))   //optimization for the next function is O2
int_16_t main (void)              //compile with O2
{
.....
}
person Mike    schedule 13.07.2018