IAR 下混合编程 问题

[复制链接]
1401|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

粉丝
快速回复 在线客服 返回列表 返回顶部