我試了下沒問題。
C2.c :
#include <reg51.h>
char code var[]="1234";
char fun(int n)
{
return var[n];
}
main.c :
#include<reg51.h>
//#include<C2.c>
void main()
extern char fun(int);
extern char code var[];
char a=fun(2);
char b=var[2];
這樣編譯透過,除錯也沒問題。但如果把//#include<C2.c>加上的話,
會由於有兩份c2.c的內容,所以編譯器提示重複定義了,不知道你的程式碼什麼樣的,
是否是在b.c裡面include了a.c
我試了下沒問題。
C2.c :
#include <reg51.h>
char code var[]="1234";
char fun(int n)
{
return var[n];
}
main.c :
#include<reg51.h>
//#include<C2.c>
void main()
{
extern char fun(int);
extern char code var[];
char a=fun(2);
char b=var[2];
}
這樣編譯透過,除錯也沒問題。但如果把//#include<C2.c>加上的話,
會由於有兩份c2.c的內容,所以編譯器提示重複定義了,不知道你的程式碼什麼樣的,
是否是在b.c裡面include了a.c