'un prologunda amacın amacı nedir? main
işlevinin (basit bir oyuncak programın) prologunda, 64 bit makinede gcc -g -o program -m32 program.c
(ubuntu 14.04 çalıştırılıyor) kullanılarak derlenmiştir. aşağıdaki sökme:Ana()
dump of assembler code for function main:
0x08048e24 <+0>: push %ebp
0x08048e25 <+1>: mov %esp,%ebp
0x08048e27 <+3>: and $0xfffffff0,%esp
...
< 3 at>? Bu nedenle, neden $esp
16 hizalanmış bir adrese işaret etmelidir?
-m32 bayrağıyla derlediğimde hala duruyor? – Bush
@Bush Sanırım SSE'den dolayı 16 bitlik -m32 ile kullanıyorlar. – ouah
Her x86-64 ABI bunu yapmaz, bu yüzden insanlar sadece bir tane ve sadece x86-64 ABI olduğunu varsayarsam, biraz tahriş olurum. Bu durumda, Ubuntu bağlamında, ABI'nın kastedildiği açıktır, ancak bu her zaman böyle değildir. –