Satır içi Assembler genel bakış
Microsoft özel
Satır içi assembler c ve C++ kaynak program derleme ve bağlantı ek adımlar olmadan assembler dili yönergeleri katıştırmak sağlar.Satır içi assembler derleyicisi yerleşik olarak bulunan — Microsoft makro Assembler (masm) gibi ayrı bir çevirici gerek yoktur.
Satır içi assembler ayrı bir derleme ve bağlantıyı adımları gerektirmediğinden, ayrı bir çevirici daha kolaydır.Satır içi derleme kod programınızın c ve C++ kodu ile tümleştirmek kolaydır, kapsam içinde olan herhangi bir c veya C++ değişkeni veya işlev adı kullanabilirsiniz.Ve derleme kod c ve C++ ifadelerle karışık çünkü hantal ya da c veya C++ tek başına olanaksız olan görevleri yapabilirsiniz.
__Asm anahtar sözcüğünü satır içi assembler çalıştırır ve çalıştığınız her yerde bir c veya C++ deyimi yasal görünebilir.Kendisi tarafından bulunamaz.Kaşlı ayraçlar içinde veya en azından kapsanmış grubu bir derleme yönergesi tarafından gelmelidir kaşlı ayraçlar boş bir çifti.Bu terim "__asm blok" burada herhangi bir yönerge veya kaşlı ayraçlar içinde olmasa da yönergeler grubunu gösterir.
Aşağıdaki kod basit bir iş __asm blok ayraç içine.(Kod bir özel işlev önsöz sırası içindir.)
// asm_overview.cpp
// processor: x86
void __declspec(naked) main()
{
// Naked functions must provide their own prolog...
__asm {
push ebp
mov ebp, esp
sub esp, __LOCAL_SIZE
}
// ... and epilog
__asm {
pop ebp
ret
}
}
Bunun yerine koymak __asm her derleme yönergesi önünde:
__asm push ebp __asm mov ebp, esp __asm sub esp, __LOCAL_SIZE
Bu yana __asm anahtar sözcüğünü ifade ayırıcı, derleme yönergeleri aynı satırda koyabilirsiniz:
__asm push ebp
__asm mov ebp, esp
__asm sub esp, __LOCAL_SIZE
SON Microsoft özel