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.
Microsoft'a Özgü
Satır içi derlemenin en iyi kolaylıklarından biri, C veya C++ değişkenlerine ada göre başvurabilmektir. Blok __asm , bloğun göründüğü kapsamdaki değişken adları da dahil olmak üzere tüm simgelere başvurabilir. Örneğin, C değişkeni var kapsam dahilindeyse yönergesi
__asm mov eax, var
değerini EAX içinde depolar var .
Bir sınıf, yapı veya birleşim üyesi benzersiz bir ada sahipse, bir __asm blok, nokta (typedef) işlecinden önce değişkeni veya adı belirtmeden yalnızca üye adını kullanarak buna başvurabilir. Ancak üye adı benzersiz değilse, nokta işlecinden hemen önce bir değişken veya typedef ad yerleştirmeniz gerekir. Örneğin, aşağıdaki örnek paylaşımdaki yapı türleri üye adı olarak kullanılır same_name :.
Değişkenleri türleriyle bildirirseniz
struct first_type hal;
struct second_type oat;
üyeye same_name yapılan tüm başvurular benzersiz olmadığından değişken adını same_name kullanmalıdır. Ancak üyenin weasel benzersiz bir adı olduğundan, yalnızca üye adını kullanarak üyeye başvurabilirsiniz:
// InlineAssembler_Accessing_C_asm_Blocks.cpp
// processor: x86
#include <stdio.h>
struct first_type
{
char *weasel;
int same_name;
};
struct second_type
{
int wonton;
long same_name;
};
int main()
{
struct first_type hal;
struct second_type oat;
__asm
{
lea ebx, hal
mov ecx, [ebx]hal.same_name ; Must use 'hal'
mov esi, [ebx].weasel ; Can omit 'hal'
}
return 0;
}
Değişken adının atlanması yalnızca bir kodlama kolaylığıdır. Değişken adının mevcut olup olmadığına bakılmaksızın aynı derleme yönergeleri oluşturulur.
Erişim kısıtlamalarına bakılmaksızın C++ dilindeki veri üyelerine erişebilirsiniz. Ancak, üye işlevlerini çağıramazsınız.
END Microsoft'a Özgü