Szukałem przez niektóre kodu z biblioteki SDL i natknąłem funkcja zadeklarowana następująco:Co robi deklaracja "CALLBACK" w C?
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
Teraz jestem programistą Delphi. No hablo C muy bien, senor. Ale pamiętam wystarczająco dużo składni z moich kursów w college'u, aby przeczytać to tak:
Nazwa funkcji to WndProc. Lista argumentów jest dość oczywista. Typ powrotu funkcji to LRESULT. Ale co w tym świecie robi to "CALLBACK"? W Delphi każda funkcja może być używana jako wywołanie zwrotne; wystarczy podać odpowiedni typ wskaźnika funkcji. Czy istnieje jakiś szczególny powód, dla którego C nie działa w ten sposób? Czy to oznacza coś innego?