__thiscall
Programu Microsoft
__thiscall Konwencji wywoływania jest używany w funkcji elementów członkowskich i jest konwencja wywołania domyślne używane przez C++ funkcji elementów członkowskich, które nie korzystają z zmiennymi argumentami.W obszarze __thiscall, wywoływany czyści stosu, który jest niemożliwe dla vararg funkcji.Argumenty są przenoszone na stosie od prawej do lewej, z this wskaźnik przekazywanych za pośrednictwem rejestru ECX, a nie na stosie, na architekturze x 86.
Jednym z powodów użyć __thiscall w których funkcje użycia klas __clrcall domyślnie.W takim przypadku można użyć __thiscall dokonać z poszczególnych funkcji wpłacone z kodem macierzystym.
Podczas kompilowania z /CLR: czysty, wszystkie funkcje i wskaźników funkcji są __clrcall , chyba że określono inaczej.
W wersjach przed Visual C++ 2005, thiscall, konwencji wywoływania może nie być jawnie określony w programie, ponieważ thiscall nie był słowem kluczowym.
varargCzłonkowskich funkcje wykorzystania __cdecl konwencji wywoływania.Wszystkie argumenty funkcji są przenoszone na stosie, z this wskaźnik umieszczony na stosie ostatnio
Ponieważ Konwencja wywoływania stosuje się tylko do języka C++, nie istnieje żaden system dekoracji c nazwę.
W systemach z rodziny procesor Itanium (IPF) i x64 maszyny, __thiscall jest akceptowane i ignorowane przez kompilator; w układzie IPF przez Konwencję, parametry są przekazywane w rejestrze.
Funkcje klasy-statycznej Jeśli funkcja jest zdefiniowane poza wiersza, modyfikator konwencji wywoływania nie muszą zostać określone w definicji wiersza.Oznacza to, że dla metod niestatycznego członka klasy, konwencja wywołania określonej podczas deklaracji zakłada się w punkcie uderzenia definicji.
Przykład
// thiscall_cc.cpp
// compile with: /c /clr:oldSyntax
struct CMyClass {
void __thiscall mymethod();
void __clrcall mymethod2();
};