Oberon space

General Category => Общий раздел => Тема начата: valexey от Апрель 09, 2011, 10:24:13 pm

Название: [Oberon-07M] Импортируем чужие функции.
Отправлено: valexey от Апрель 09, 2011, 10:24:13 pm
Собственно вопрос по синтаксису (он нигде не описан):
PROCEDURE ["Kernel32.dll", "AllocConsole", 0] AllocConsole*(): INTEGER;
Вот поседний аргумент-число нуль, тут что означает?
Название: Re:[Oberon-07M] Импортируем чужие функции.
Отправлено: Geniepro от Апрель 10, 2011, 05:33:30 am
Небось что-то типа cdecl/stdcall...
Название: Re:[Oberon-07M] Импортируем чужие функции.
Отправлено: valexey от Апрель 10, 2011, 07:32:11 am
Кстати, а почему в грамматике оберона-07м эта конструкция никак не фигурирует?
Название: Re:[Oberon-07M] Импортируем чужие функции.
Отправлено: Rifat от Апрель 10, 2011, 08:47:47 am
В грамматике языка oberon-07M эта конструкция описана:
ProcedureFlags = ["[" string "," string "," integer "]"].
ImportedProcedure = "PROCEDURE" ProcedureFlags identdef[FormalParameters]

0 - означает stdcall
Других соглашений вызова для импортированных процедур пока нет.
Название: Re:[Oberon-07M] Импортируем чужие функции.
Отправлено: valexey от Апрель 10, 2011, 08:51:52 am
Ага, спасибо. А описании грамматики я это действительно пропустил.