Ami*_*nha 6 c memory-management
struct abc
{
char cc[32];
} mystruct;
int main()
{
}
Run Code Online (Sandbox Code Playgroud)
当我运行上面的程序时,.bss部分有64个字节.我原以为它是36个字节.mystruct为32个字节,其他库为4个字节.
如果我char cc[32]改为char cc[31]那么我在.bss中得到36个字节.
-bash-3.00$ g++ bssSize.cc
-bash-3.00$ readelf --sections ./a.out | grep bss
[23] .bss NOBITS 08049580 000578 000040 00 WA 0 0 32
-bash-3.00$
Run Code Online (Sandbox Code Playgroud)
64是十六进制的000040
为什么这些额外的28个字节在.bss中?