stdcall – назви функцій прикрашені початковим підкресленням ( _ ), після якого йде знак at ( @ ) і розмір параметрів. fastcall – назви функцій прикрашені знаком at на початку ( @ ), за яким іде знак at ( @ ) і розмір параметрів.
Використовуйте модифікатор __fastcall щоб оголосити функції, які очікують передачі параметрів у регістрах. Перші три параметри передаються (зліва направо) в EAX, EDX і ECX, якщо вони вписуються в реєстр. Регістри не використовуються, якщо параметр є типом з плаваючою комою або структурою.
stdcall. Угода про виклики stdcall є варіація угоди про виклики Pascal, у якій виклик відповідальний за очищення стека, але параметри надсилаються в стек у порядку справа наліво, як у домовленості про виклики _cdecl.
опис. Директива stdcall використовує стандартну угоду про виклики Windows: аргументи надсилаються в стек, починаючи з крайнього правого аргументу. Підпрограма відповідає за витягування аргументів зі стеку.
Re: Різниця між CDECL і STDCALL? Основна відмінність між ними полягає в тому хто відповідає за очищення стека від локальних змінних. Для cdecl це виклик, тоді як для stdcall це виклик (функція, що викликається).
Угода про виклики __fastcall вказує, що аргументи функцій мають передаватися в регістрах, коли це можливо. Ця угода про виклики стосується лише архітектури x86. У наведеному нижче списку показано реалізацію цієї угоди про виклики.
Швидкий виклик спочатку набирає номер користувача на мобільному пристрої. Це отримано як вхідний виклик для користувача. Після цього Fastcall набирає записаний номер.