在编译文件定义全局变量的时候,编译出现错误,经查是在另一个.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()
{
}