TI中文支持网
TI专业的中文技术问题搜集分享网站

Error[e46]: Undefined external "_OS_ENTER_CRITICAL::?relay" referred in OSMutex ( E:\work\Internet_IC_Reader\openOS51\IAR_OpenOS-51\Debug\Obj\OSMutex.r51 )

OS_ENTER_CRITICAL 我的这个程序是在汇编文件 S51里面编写的,但是C语言找不到他。

PUBLIC _OS_ENTER_CRITICAL  汇编语言已经做了 全局定义处理。在工程中已经设置了汇编语言的预编译路径,在调到他的C 文件里也用 

extern OS_ENTER_CRITICAL 对其做了外部函数声明,但是还是不行! 请各位做过IAR下混合编程的老师给我指点一下,谢谢

jeff wang2:

回复 Yue TANG:

感谢 TY  的答复, 问题找到了,我在文件中用了个宏定义,#define OS_ENTER_CRITICAL() extern void _OS_ENTER_CRITICAL()   在宏定义中没有加 extern ,在其他的地方做的函数外部声明,没有关联上,我是没有理解宏定义,造成了麻烦

赞(0)
未经允许不得转载:TI中文支持网 » Error[e46]: Undefined external "_OS_ENTER_CRITICAL::?relay" referred in OSMutex ( E:\work\Internet_IC_Reader\openOS51\IAR_OpenOS-51\Debug\Obj\OSMutex.r51 )
分享到: 更多 (0)