Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Операторы вызова процедур и процедур-функций




Группа операторов вызова процедур и процедур-функций объединяет операторы следующего назначения:

• объявления BASIC-процедур;

_™0• объявления процедур на языках С, Pascal, FORTRAN, Assembler;

• задания процедур и процедур-функций;

• вызова BASIC-процедур;

• вызова разноязыковых модулей на языках семейства Microsoft (С, PaScai, FORTRAN, Assembler);

• вызова программ на машинном языке;

• выполнения команд MS DOS.

Оператор объявления BASIC-процедур - DECLARE (BASIC)

Назначение: Объявляет ссылки к BASIC-процедурам и вызывает проверку типов аргументов.

Синтаксис:

DECLARE (FUNCTION | SUB] < имя > [([ <список параметров> ])]

Аргумент Описание

< имя> Имя процедуры; оно ограничено 40 символами. Имя процедуры-функции FUNCTION может сопровождаться маркером типа (%, &,!, #, $) для возвращаемой величины

< список параметров> Список параметров используется при вызове процедуры, определяет только количество и тип аргументов

Оператор объявления процедур на языках семейства

Microsoft - DECLARE

Назначение: Объявляет вызываемые последовательности внешних процедур, написанных на других языках программирования семейства Microsoft.

Синтаксис 1:

DECLARE FUNCTION < имя> [CDECL] [ALIAS < альтернативное имя>"]

[([ <список параметров> ])]

Синтаксис 2

DECLARE SUB < имя> [CDECL] [ALIAS "<альтернативное имя>"]

[([ <список параметров> ])]

Элемент Описание

FUNCTION Указывает, что внешняя процедура возвращает значение; может использоваться в составе арифметических выражений

SUB Указывает, что внешняя процедура вызывается аналогично BASIC-процедуре

< имя> Имя, используемое в BASIC-программе для вызова процедуры; длина до 40 символов; имя процедуры-функции может включать маркер типа (%, &,!, #, $) для.возвращаемой величины.

CDECL Указывает, что процедура использует порядок размещения аргументов, свойственный языку С; ключевое слово CDECL указывает на передачу аргументов справа налево, а не слева направо, как принято в среде языка BASIC

ALIAS Указывает, что процедура имеет другое имя в.OBJ-файле или библиотеке; если отсутствует ключ ALIAS, то имя процедуры отображается строчными буквами, маркер типа удаляется, а в начале имени добавляется символ подчеркивания, и именно это имя используется при поиске библиотек и внешних файлов; если за ключомCDECL следует ключ ALIAS, то используется указанное альтернативное имя.

Синтаксис аргумента <список параметров>

[[BYVAL SEG]] <переменная> [AS <тип>] (, [[BYVAL SEGl] <переменная> [AS <тип>] ]...

Элемент Описание

BYVAL Указывает, что параметр передается значением, а не ссылкой; передача ссылкой принята по умолчанию; ключ можно применять только для числовых параметров типа INTEGER, LONG, SINGLE, DOUBLE; при использовании BYVAL текущий аргумент преобразуется к типу, указанному в операторе DECLARE, непосредственно перед передачей параметра

SEG Указывает, что параметр передается адресом сегмента

<переменная> Имя, допустимое для переменных языка BASIC;

существенным является тип переменной; если переменная - массив, то в скобках можно указать его размерность (в частности, чтобы обеспечить совместимость с прежними версиями языка)

AS <тип> Указывает тип переменной: INTEGER, LONG, SINGLE, DOUBLE, STRING, ANY - или имя структуры; можно указывать также и маркер типа (%, &,!, #, $) или принимать его по умолчанию;

при объявлении внешних процедур, написанных на других языках, можно указать тип ANY, и это приведет к тому, что проверка типа не выполняется; нельзя использовать тип ANY для аргумента, передаваемого значением

Если не используются ключи BYVAL и SEG, то аргументы передаются смещением.





Поделиться с друзьями:


Дата добавления: 2016-11-24; Мы поможем в написании ваших работ!; просмотров: 431 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинать всегда стоит с того, что сеет сомнения. © Борис Стругацкий
==> читать все изречения...

2304 - | 2057 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.