IAR EWARM编译器和其他厂家的C编译器相比非常高效,但是当程序里面包含对时序要求比较严格的代码的时候,IAR常常会把这些代码过渡优化,破坏了时序的要求,造成程序错误,在程序代码比较紧的时候又必须优化,
这是可以在包含时序要求比较严格的代码的函数前面,用#pragma optimize=none不进行优化或者#pragma optimize=low进行低级优化,
例如
#pragma optimize=none
void A()
{
}
指示不对A()函数优化