[so] Optiuni compilare g++
Alin Popescu
alinpopescu at live.com
Fri Apr 3 15:36:20 EEST 2009
Salut
Ma confrunt cu o problema si nu reusesc sa o rezolv. Vreau sa specific compilatorului g++ ca stiva creste de la adrese mari la adrese mici, sa-mi puna parametrii pe stiva in ordinea in care apar in antetul functiei, iar in momentul cand imi cedeaza lucrul (cand sunt in functie) esp/rsp sa fie actualizat sa faca referire la ultima variabila din declaratie.
Am vazut ca gcc e mai rau (pentru ca in std C/C++ nu se specifica nici macar sa transmita parametrii prin stiva si multe alte probleme):
_Z7funcPvS_S_x:
.LFB2:
push %rbp
.LCFI0:
mov %rbp, %rsp
.LCFI1:
mov QWORD PTR [%rbp-8], %rdi
mov QWORD PTR [%rbp-16], %rsi
mov QWORD PTR [%rbp-24], %rdx
mov QWORD PTR [%rbp-32], %rcx
cmp QWORD PTR [%rbp-32], 0
jne .L2
jmp .L1
.L2:
#APP
.intel_syntax noprefix
sub rsp, 32
push rbp
Pe penultima linie trebuie sa fac eu explicit sub rsp, 32 pentru ca g++ nu e nici macar atat de dragut. Poate e si din cauza ca eu am invatat assembly din cartea
lui Lungu, iar acolo se spunea ca parametrii se transmit prin stiva, in ordinea inversa a aparitiei lor, etc.
Alin Popescu,
332 CB
_________________________________________________________________
Drag n’ drop—Get easy photo sharing with Windows Live™ Photos.
http://www.microsoft.com/windows/windowslive/products/photos.aspx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20090403/ee8a13e9/attachment.htm>
More information about the so
mailing list