如题,在core_cmFunc.h文件中,
#if defined ( __CC_ARM )
...
#elif defined ( __GNUC__ )
...
其中,__disable_irq();是定义在( __GNUC__ )下的,为什么用keil编译时,调用不会出现问题? 编译的时候,可能是那个地方定义了__CC_ARM, 预编译指令执行了#if defined ( __CC_ARM )下面的代码,没有执行#elif defined ( __GNUC__ )下面的代码;
#if ...
...
#elif ..
...
是条件预编译,只执行其中的一个分支
|