Abuse Melding

Je hebt een klacht over de onderstaande posting:

11-03-2007, 23:54 door Bitwiper

Door SirDice op zondag 11 maart 2007 18:09 De relatie tussen een register en een variabele hangt geheel af van het OS. Sommige OS'en willen de argumenten van een functie in registers hebben anderen, zoals linux, stopt de argumenten van een functie op de stack. Dat is ten dele juist. Bij libraries is het in elk geval zo dat het volstrekt duidelijk moet zijn waar en in welke volgorde je als caller de parameters opslaat, zodat de 'callee' (de aangeroepen functie) ze kan vinden. Die afspraak is inderdaad OS-afhankelijk. Bijv. Microsoft's Win 3.1 API hanteerde de "Pascal" parameter volgorde die precies andersom is als C-compilers normaal gesproken zouden aanhouden. Zowel MS als GCC kunnen het Intel 'fastcall' attribuut gebruiken; in dat geval worden de eerste twee (32bit) parameters via ECX en EDX overgedragen, de rest via de stack, zie [url=http://en.wikipedia.org/wiki/X86_calling_conventions#fastcall]Wikipedia. Daarmee is het naast OS-afhankelijk, ook compiler- en CPU-afhankelijk. Door allerlei (meestal ...

Beschrijf je klacht (Optioneel):

captcha