我试了下没问题。
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
我试了下没问题。
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