Coding with Titans

so breaking things happens constantly, but never on purpose

Konwencje wywołań

Sposób wywoływania funkcji w programach pisanych w C/C++, Pascalu, assemblerze (rozumianych szeroko jako języki i kod niezarządzany) odgrywa niebagatelne znaczenie. Aby dwie funkcje - wywołująca i wywoływana - mogły się ze sobą dogadać, muszą wcześniej uzgodnić kilka drobnych acz istotnych szczegółów. Należą do nich: sposób, w jaki przekazywane będą argumenty (np. poprzez stos, rejestry lub mieszając oba) sposób, w jaki argumenty są numerowane (od prawej, czy od lewej strony) sposób udekorowania nazwy funkcji (poprzez dodanie przyrostków, przedrostków lub całkowite wygenerowanie nowej nazwy, gwarantujące unikatowość, gdy funkcja jest wielkorotnie przeładowana) czy występuje stała, czy zmienna liczba argumentów (a tym samym, która ze stron będzie odpowiedzialna za posprzątanie) czy występuje wywołanie funkcji globalnej (statycznej) lub metody klasy (C++). Read more →