Ce n' .comm veux dire?
Je viens de traduire ce programme,
#include <stdio.h>
int dam[1000][1000];
int main (int argc, const char * argv[]) {
//insert code here...
printf("Hello, World!\n");
return 0;
}
de montage à l'aide de gcc production,
.cstring
LC0:
.ascii "Hello, World! .cstring
LC0:
.ascii "Hello, World!\0"
.text
.globl _main
_main:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $20, %esp
call L3
"L00000000001$pb":
L3:
popl %ebx
leal LC0-"L00000000001$pb"(%ebx), %eax
movl %eax, (%esp)
call L_puts$stub
movl $0, %eax
addl $20, %esp
popl %ebx
leave
ret
.comm _dam,1000000,5
.section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5
L_puts$stub:
.indirect_symbol _puts
hlt ; hlt ; hlt ; hlt ; hlt
.subsections_via_symbols
"
.text
.globl _main
_main:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $20, %esp
call L3
"L00000000001$pb":
L3:
popl %ebx
leal LC0-"L00000000001$pb"(%ebx), %eax
movl %eax, (%esp)
call L_puts$stub
movl $0, %eax
addl $20, %esp
popl %ebx
leave
ret
.comm _dam,1000000,5
.section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5
L_puts$stub:
.indirect_symbol _puts
hlt ; hlt ; hlt ; hlt ; hlt
.subsections_via_symbols
Ce n' .comm veux dire? N'barrage de l'utilisation de la mémoire, de la pile de l'espace ou de l'espace de données?
OriginalL'auteur Pedro Henriques | 2009-02-01
Vous devez vous connecter pour publier un commentaire.
De la
as
manuel:OriginalL'auteur Eli Bendersky
L' .comm directive alloue de stockage dans la section de données. Le stockage est référencé par le nom de l'identificateur. La taille est mesurée en octets, et doit être un entier positif. Le nom ne peut pas être prédéfinis. L'alignement est facultatif. Si l'alignement est spécifiée, l'adresse de nom est aligné à un multiple de l'alignement.
Source: https://docs.oracle.com/cd/E26502_01/html/E28388/eoiyg.html
OriginalL'auteur scanjee