TI中文支持网
TI专业的中文技术问题搜集分享网站

对于DSP2808关于全部变量定义位置与.ebss的关系

我如果在commsci.c中定义了一个全局变量,在main.c中通过extern声明后使用,这样的话编译器会报.ebss空间不足,而如果我在.h中定义,在另一个.h中声明extern,在通过包含头文件的方式来引用外部变量,则不会出现错误。

我想全局变量的话编译器应该都是分配一个地址,为什么这两种情况对.ebss的空间占用却不同呢?

Eric Ma:

一般的编写方法,不会在头文件中定义变量的,因为如果这个头文件被多个C文件引用的话,会出现重复定义的报错。如果在.c中定义全局变量,然后出现.ebss空间不足,那么就应该是空间不足。

Eric

我如果在commsci.c中定义了一个全局变量,在main.c中通过extern声明后使用,这样的话编译器会报.ebss空间不足,而如果我在.h中定义,在另一个.h中声明extern,在通过包含头文件的方式来引用外部变量,则不会出现错误。

我想全局变量的话编译器应该都是分配一个地址,为什么这两种情况对.ebss的空间占用却不同呢?

哟:

回复 囧:

非常感谢,忘记这招了!

赞(0)
未经允许不得转载:TI中文支持网 » 对于DSP2808关于全部变量定义位置与.ebss的关系
分享到: 更多 (0)