打印

IAR 下混合编程 问题

[复制链接]
1063|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ccatwyj|  楼主 | 2017-3-16 16:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Error[e46]: Undefined external "_OS_ENTER_CRITICAL::?relay" referred in OSMutex ( E:\work\Internet_IC_Reader\openOS51\IAR_OpenOS-51\Debug\Obj\OSMutex.r51 )

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

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

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

相关帖子

沙发
ccatwyj|  楼主 | 2017-3-18 10:28 | 只看该作者
问题找到了,我在文件中用了个宏定义,#define OS_ENTER_CRITICAL() extern void _OS_ENTER_CRITICAL()   
在宏定义中没有加 extern ,在其他的地方做的函数外部声明,没有关联上,我是没有理解宏定义,造成了麻烦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

79

帖子

2

粉丝