2011-05-22 2 views
0

Possible en double:
.bss section in elf fileBSS fait partie du fichier de programme?

Salut,

est BSS(Block started by symbol) partie du fichier de programme (a.out). Supposons que j'ai une variable globale char buf[2048] déclarée dans mon programme c. Je fais un exécutable hors de mon programme c (a.out). Les 2048 octets de buf feront-ils partie de a.out? Ou est la quantité de mémoire nécessaire pour buf allouer uniquement pendant l'exécution du fichier programme?

je reçois confus lorsque la commande de taille indique la mémoire allouée pour le segment de texte, segment de données initialisé et BSS pour l'exécutable (a.out)

Répondre

4

Non, les 2048 octets n'occuperons pas réellement un espace dans le fichier 'a.out', en supposant que vous avez un système d'exploitation Linux moderne où le format du fichier 'a.out' est en fait ELF, et non le format nommé "a.out", ce qui était le cas auparavant. Pour plus d'informations sur le format ELF, voir http://en.wikipedia.org/wiki/Executable_and_Linkable_Format.

Questions connexes