在編譯文件定義全局變量的時候,編譯出現錯誤,經查是在另一個.c文件裏面把我這個聲明的變量又重新給賦值了一次,這個是不對的,如果你想定義全局變量的話,或者向調用其他.c文件裏面的定義的全局變量的話,那麼你在引用的.c文件裏面加上extern char num;類似的語句就可以,不能重新給這個變量在定義的時候賦值。
/-------------------------------------------------main.c 聲明-------------------------------------------------------------------------------------------
#iniclude “…”
unsigned char Buffer[1000]; //定義了一個1000字節的接收發送緩衝區
unsigned char host_mac_addr[6]= { 0x00, 0x1e, 0xc9, 0x45, 0x61, 0x9e };
unsigned char mac_addr[6] = {0x08,0x90,0x90,0x90,0x90,0x90 };//{ 0x52, 0x54, 0x4c, 0x38, 0xf7, 0x42 };
unsigned char ip_addr[4] = { 192, 168, 0, 21 };
unsigned char host_ip_addr[4] = { 192, 168, 0, 100 };
unsigned int packet_len; //接收、發送數據包的長度,以字節爲單位
int main()
{
return 0;
}
/------------------------------------在get.c調用---------------------------------------------------------------------------------------------------------
#iniclude “…”
extern unsigned char Buffer[1000]; //定義了一個1000字節的接收發送緩衝區
extern unsigned char host_mac_addr[6];
extern unsigned char mac_addr[6] ;
extern unsigned char ip_addr[4] ;
extern unsigned char host_ip_addr[4] ;
extern unsigned int packet_len; //接收、發送數據包的長度,以字節爲單位
void get()
{
}