Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 数据段大小,单位为“;“尺寸”;Mac上的命令_Linux_Macos_Size_Osx Leopard_Unix - Fatal编程技术网

Linux 数据段大小,单位为“;“尺寸”;Mac上的命令

Linux 数据段大小,单位为“;“尺寸”;Mac上的命令,linux,macos,size,osx-leopard,unix,Linux,Macos,Size,Osx Leopard,Unix,假设Mac OS X 10.5上的“size”命令在一个小的可执行文件上有以下输出,uu DATA下的值是多少?是未初始化的数据段大小还是初始化的数据段大小?我发现令人困惑的是,无论我是否初始化(唯一的)程序中的全局数组,这个值(或其他值)似乎都没有改变 我猜这个命令在Linux和Mac上的工作方式不同吧 __TEXT __DATA __OBJC others dec hex 4096 4096 0 4294971392 4294979584 100003000 在

假设Mac OS X 10.5上的“size”命令在一个小的可执行文件上有以下输出,uu DATA下的值是多少?是未初始化的数据段大小还是初始化的数据段大小?我发现令人困惑的是,无论我是否初始化(唯一的)程序中的全局数组,这个值(或其他值)似乎都没有改变

我猜这个命令在Linux和Mac上的工作方式不同吧

__TEXT  __DATA  __OBJC  others  dec hex
4096    4096    0   4294971392  4294979584  100003000

在linux上,格式是

   text    data     bss     dec     hex filename
   1281     520      32    1833     729 a.out
BSS
是零初始化全局和局部静态的大小(以字节为单位)。我进行了验证,它们(数据、bss等)随着变量数量及其初始化值的变化而适当变化

需要注意的一点是,
size
不带任何参数会在CWD中自动选择
a.out


我完全不知道Mac里有什么东西。我猜是
\uu OBJC
=
BSS
。还要检查如何调用
size
命令

所有静态和全局变量都已初始化,问题在于它们是初始化为零还是其他值。初始化为零的变量进入u数据段的u bss部分。其他变量将进入_数据段的其他部分。

如果您将全局数组初始化为
{0}
,它可能仍然存在于BSS中。尝试将其初始化为
{1}
。小数点总大小为4294979584是什么意思?4GB?