Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Epilogdaki geçerli uzaklık için belirtilen boyuta sahip bir WOD_ALLOC_SMALL, WOD_ALLOC_LARGE veya WOD_ALLOC_HUGE geri sarma kodu girişi oluşturur.
Syntax
öğesini seçin. FREESTACKboyutu
Parametreler
boyut
Yığından serbest bırakılma bayt sayısı. 8'in katı olmalıdır.
Remarks
Important
Bu yönerge deneyseldir ve değiştirilebilir.
kullanarak ml64.exe /unwindv3Sürüm 3'e geri sarmayı etkinleştirin.
- kullanabilirsiniz . FREESTACK yalnızca Unwind Sürüm 3'te. Bu, 'nin en önemli muadili . ALLOCSTACK.
- kullanabilirsiniz . FREESTACK yalnızca bir en son bölge içinde, arasında . BEGINEPILOG ve . ENDEPILOG.
- Sürüm 3'te, . FREESTACK, yığın ayırmayı
add rsp, Nuygulayan yönergeden önce görünmelidir. - Sözleşmeyi güvence altına almak için hem unwind yönergelerini hem de bir makroda geri sarmalamaları gereken kodu sarmalayın.
- Bu yönergeler geri sarma meta verileri (
.xdatave.pdatabölümleri) oluşturur ancak yürütülebilir kod üretmez. - Microsoft Assembler (MASM), belirli bir boyut için en verimli kodlamayı seçer.
MASM, boyuta bağlı olarak üç geri sarma kodundan birini yayar:
| Kodu geri sarma | Condition |
|---|---|
WOD_ALLOC_SMALL |
boyut ≤ 128 bayt |
WOD_ALLOC_LARGE |
boyut ≤ 32 KB |
WOD_ALLOC_HUGE |
Boyutu> 32 KB |
Unwind Sürüm 3'te, epilogue unwind kod oluşturma için epilog yönergeleri zorunlu hale geldi. Derleyici, bir çift olmadan .BEGINEPILOG/.ENDEPILOG epilogue unwind kodları yaymaz.
Note
Sürüm 1'i Geri Al bölümünde yönerge ilgili yönergeden sonra görünür. Sürüm 3'te yönerge yönergeden önce görünür.
unwindv3 örneği
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.allocstack 16
sub rsp, 16
.endprolog
; function body
.beginepilog
.freestack 16
add rsp, 16
.endepilog
ret
Example1 ENDP
_text ENDS
END
Ayrıca bakınız
x64 Sürüm 3'i geri sarma (deneysel)
Yönergeler Başvurusu
. ALLOCSTACK
. BEGINEPILOG
MASM BNF Dil Bilgisi