Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rysunek1.16.Kodstrukturalnydeasemblacjaczęścigłównejfunkcji;wywołaniefunkcjiset_colorwkonwencji
stdcall
Rysunek1.17.Kodobiektowydeasemblacjaczęścigłównejfunkcji;wywołaniefunkcjiset_colorwkonwencji
thiscall
Samkodfunkcjiustawiającejkolorwyglądawobuprzypadkachniemaltaksamo(patrzrys.1.18i1.19).
Rysunek1.18.Kodstrukturalnydeasemblacjaczęścifunkcjiset_color;obaparametryfunkcji(wskaźniknastrukturęorazkolor)przekazywaneprzezstos
Rysunek1.19.Kodobiektowydeasemblacjaczęścifunkcjiset_color;pierwszyargument(zgodniezkonwencją
thiscall
)znajdujesięwrejestrzeECX
1.3.2.Obiekty=struktury+funkcje+thiscall
Jedynaróżnicamiędzydwiemawersjamipowyższegoprogramupolega(wzasadzie)natym,żewprzypadkuobiektowymkompilator
„wie”,żetrzeba(niejawniedlaprogramisty)przekazaćwskaźnikobiektujakopierwszyparametr(wkonwencji
thiscall
czyliwrejestrze
ECX).Wprzypadkukodustrukturalnegoprogramistamusizrobićto„ręcznie”przekazującwskaźnikjakoparametr.Odnalezieniekodu,
wktórympodczaswywoływaniafunkcjiużytokonwencji
thiscall
,jestpierwsząiwzasadzienajważniejsząwskazówkąświadczącąotym,