Повикване конвенции
Подробности за това как на обаждащия се.
Обадете споразумение определи как обаждащия се взаимодейства с процедурите в разговора. Те определят правилата за това как параметрите са поставени в стека като обратна стойност, а когато топчето се изчиства. Тази информация е полезна, когато общуват с код, написани на други езици, особено за асемблер. В някои случаи, Конвенцията на разговори се използва и като имена процедура за регистрация.
FreeBASIC поддържа 3 конвенция: stdcall. cdecl и Паскал. дефинирана с stdcall. cdecl и Паскал. съответно. Наречен конвенция може да бъде посочен в процедурите за деклариране или дефиниция веднага след името на процедурата. В процедурата за деклариране трябва да бъде същата конвенция, както на Конвенцията и в дефиницията.
stdcall обажда конвенция по подразбиране в Windows, така и за процедури с блокове ученик "Windows" и ученик "Windows-жа". Това е конвенция по подразбиране се използва също и в приложния програмен интерфейс на Windows.
- На DOS и Windows платформи, името на процедурата, е направено с наставка "@N", където N е общият размер в байтове на всички параметри.
спогодба cdecl. Настройки на процедури в стека преди извикването на обратната процедура, а не това, което те са декларирани, тоест, от дясно на ляво. Отсрещната страна е отговорна за бутане на параметрите в стека.
подразбиране cdecl конвенция призовава за Linux, BSD * и DOS, така и за процедури с блокове ученик "C" и ученик "C ++". Така е тази конвенция по подразбиране за C и C ++ компилатори.
паскал е конвенция по подразбиране за Pascal и поредица от Microsoft QuickBasic компилатори.
Следващата таблица показва разликите между конвенции:
Параметрите са поставени в стека на повикване