现在我的项目是汇编和C要相互调用,举个例子吧
在汇编中定义: var DATA 10H
同时在汇编中声明 EXTERN DATA var
然后在c中这么声明: extern unsigned char data *var
就这么声明,链接的时候就报错了:
***ERROR L118: REFERENCE MADE TO ERRONEOUS EXTERNAL
重新看了下工程,可能是我没说说的有误吧,实际是这样的
比如这个变量是在a.asm中定义的:
PUBLIC var
var DATA 10H
然后再b.asm中用EXTRN DATA var申明,
还在c.c文件中这么声明extern unsigned char data *var;在链接的时候a.asm也报错了,说EXTERN ATTRIBUT DO DOT MATCH PUBLIC
然后在链接的时候就出现了错误,我实在是不知道有什么问题。