【发布时间】:2015-12-14 07:18:50
【问题描述】:
在这个程序中,我没有声明任何变量仍然显示数据段 (BSS) 大小为 8 个字节。为什么?
achul@achul:~/chennai/misclaneous$ vi memory.c
#include<stdio.h>
main()
{
}
achul@achul:~/chennai/misclaneous$ cc memory.c -o mem
achul@achul:~/chennai/misclaneous$ size mem
text data bss dec hex filename
1056 252 8 1316 524 mem
这里我没有使用任何全局变量,因为 BSS 是为全局变量保留的,只有任何人都可以使用?
【问题讨论】:
-
发布的代码不是您编译的唯一代码。启动代码也已链接。
-
是的,使用
-c选项编译以获得与您的代码相对应的对象.o。 -
我看不出这与存储类说明符有什么关系。这是一个正常的可执行文件/对象问题。
-
#include
int i; main() { } /* cc -c memory.c achul@achul:~/chennai/misclaneous$ size memory.o text data bss dec hex 文件名 61 0 0 61 3d memory.o 为什么未初始化的 var 不进入 BSS? */
标签: c