C 为二进制可执行文件获取错误的封装外形

C 为二进制可执行文件获取错误的封装外形,c,size,bin,C,Size,Bin,当我运行命令size时,实际上我的二进制可执行文件的内存占用是错误的 从获得的输出(如下所示)来看,bss值是1GB,但实际上应该是150KB左右。有人请让我知道这是什么原因,以及如何解决这个问题 text data bss dec hex filename 1279974 247448 1073768352 1075295774 4017b61e bin BSS段包含未初始化的全局变量。也许它还包含对堆栈和堆的请求?在

当我运行命令
size
时,实际上我的二进制可执行文件的内存占用是错误的

从获得的输出(如下所示)来看,bss值是1GB,但实际上应该是150KB左右。有人请让我知道这是什么原因,以及如何解决这个问题

  text    data      bss         dec        hex     filename
1279974  247448  1073768352  1075295774  4017b61e     bin

BSS段包含未初始化的全局变量。也许它还包含对堆栈和堆的请求?在某个地方,您定义了一个巨大的未初始化数组。因为没有代码,我们没什么可说的了。在单个对象文件上运行大小。那会告诉你是哪个引起了麻烦。或者你正在链接一个静态库,问题就在那里。