c51 code类型的全局变量如何在别的文件中引用?

2025-05-18 03:53:17
推荐回答(2个)
回答(1):

我试了下没问题。

C2.c :

#include 
char code var[]="1234";
char fun(int n)
{
    return var[n];
}

main.c :

#include
//#include
void main()
{
    extern char fun(int);
    extern char code var[];
    char a=fun(2);
    char b=var[2];   
}

这样编译通过,调试也没问题。但如果把//#include加上的话,
会由于有两份c2.c的内容,所以编译器提示重复定义了,不知道你的代码什么样的,
是否是在b.c里面include了a.c

回答(2):

我试了下没问题。
C2.c :
#include
char code var[]="1234";
char fun(int n)
{
return var[n];
}
main.c :
#include
//#include
void main()
{
extern char fun(int);
extern char code var[];
char a=fun(2);
char b=var[2];
}

这样编译通过,调试也没问题。但如果把//#include加上的话,
会由于有两份c2.c的内容,所以编译器提示重复定义了,不知道你的代码什么样的,
是否是在b.c里面include了a.c