cdecl
 
Задает соглашение о вызовах cdecl в декларации процедуры

Синтаксис

Sub name cdecl [Overload] [Alias "alias"] ( parameters )
Function name cdecl [Overload] [Alias "alias"] ( parameters ) As return_type

Описание

В декларации процедуры, cdecl указывает, что процедура будет использовать конвенцию вызова cdecl. В конвенции вызова cdecl, любые параметры должны передаваться (отправляться в стек) в обратном порядке, по отношению к тому как они перечислены, то есть справа налево. Процедурам не нужно сохранять регистры EAX, ECX или EDX, и не должны очищать стек (выталкивать все параметры из стека) перед возвратом что осталось в коде вызова.

cdecl допускает использовать процедуры с переменным числом параметров ( с последним параметром "...").

cdecl является конвенцией вызова по умолчанию на Linux, *BSD, и DOS, если иное соглашение о вызовах не указано явно или не подразумевается одним из блоков Блоков Extern. cdecl обычно является соглашением по умолчанию для C компиляторов, и оно используется почти всегда на Unix-подобных системах.

Пример

' декларация 'strcpy' из стандартной библиотеки C
Declare Function strcpy cdecl Alias "strcpy" (ByVal dest As ZString Ptr, ByVal src As ZString Ptr) As ZString Ptr


Отличия от QB

  • Новое в FreeBASIC

См. также