`
Читать книги » Книги » Компьютеры и Интернет » Программирование » W Cat - Язык программирования Euphoria. Справочное руководство

W Cat - Язык программирования Euphoria. Справочное руководство

1 ... 15 16 17 18 19 ... 39 ВПЕРЕД
Перейти на страницу:

- выдаёт адрес свободного участка памяти заданного объёма

free (освободить_память)

- освобождает участок памяти, ранее выделенный по команде allocate

allocate_low (выделить_память_внизу)

- выдаёт адрес свободного участка нижней памяти (адреса менее 1Mb) (DOS32)

free_low (освободить_память_внизу)

- освобождает участок памяти, ранее выделенный по команде allocate_low (DOS32)

allocate_string (поместить_строку_в_память)

- размещает в памяти заданную строку с нуль-терминатором и выдаёт её адрес

register_block (учесть_блок)

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

unregister_block (вычеркнуть_блок)

- вычёркивает из списка безопасных ранее зарегистрированный блок памяти (см. выше)

get_vector (получить_адрес_вектора)

- выдаёт адрес обработчика прерывания (DOS32)

set_vector (установить_адрес_вектора)

- устанавливает адрес обработчика прерывания (DOS32)

lock_memory (запереть_память)

- предохраняет заданный блок памяти от перенесения на диск при работе виртуальной памяти (DOS32)

int_to_bytes (байты_из_целого)

- выдаёт 4 байта, соответствующие заданному целому

bytes_to_int (целое_из_байтов)

- выдаёт целое, соответствующее заданным 4 байтам

int_to_bits (биты_из_целого)

- выдаёт ряд битов, соответствующий заданному целому

bits_to_int (целое_из_битов)

- выдаёт целое, соответствующее заданному ряду битов

atom_to_float64 (атом_в_плавающее_64_бит)

- выдаёт ряд из 8 байтов, соответствующий заданному атому, в 64-битном формате IEEE для чисел с плавающей точкой

atom_to_float32 (атом_в_плавающее_32_бит)

- выдаёт ряд из 8 байтов, соответствующий заданному атому, в 32-битном формате IEEE для чисел с плавающей точкой

float64_to_atom (плавающее_64_бит_в_атом)

- выдаёт атом, соответствующий ряду из 8 байтов в 64-битном формате IEEE для чисел с плавающей точкой

float32_to_atom (плавающее_32_бит_в_атом)

- выдаёт атом, соответствующий ряду из 4 байтов в 32-битном формате IEEE для чисел с плавающей точкой

set_rand (установить_датчик_случайных_чисел)

- устанавливает датчик случайных чисел в режим выдачи помеченной серии чисел с восстанавливаемым порядком

use_vesa (использовать_vesa)

- переключает интерпретатор Euphoria в режим выполнения рекомендаций видеостандарта VESA (DOS32)

crash_file (файл_отчета_об_авосте)

- определяет файл для записи диагностической информации, если Euphoria обнаруживает ошибку в вашей программе

crash_message (сообщение_об_авосте)

- определяет сообщение об ошибке, которое будет выводиться, если Euphoria обнаруживает ошибку в вашей программе

crash_routine (подпрограмма_по_авосту)

- определяет подпрограмму, которая должна быть вызвана перед аварийной остановкой, если Euphoria обнаруживает ошибку в вашей программе

2.14 Динамические вызовы

Данные подпрограммы позволяют вам вызывать процедуры и функции Euphoria с использованием вместо обычного имени уникального целого числа, известного как идентификационный номер подпрограммы.

routine_id (подпрограмма_номер)

- выдаёт уникальный идентификационный номер, автоматически присваиваемый заданной подпрограмме Euphoria

call_proc (вызвать_процедуру)

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

call_func (вызвать_функцию)

- выдаёт результат функции Euphoria, вызванной по заданному идентификационному номеру

2.15 Вызов функций Си (WIN32 и Linux)

Просмотрите файл platform_r.htm, где подробно описано программирование на Euphoria для операционных систем WIN32 и Linux.

open_dll (открыть_dll)

- открывает динамически подключаемую библиотеку Windows (.dll-файл) или общую библиотеку Linux (.so-файл)

define_c_proc (определить_процедуру_Си)

- определяет номер функции Си типа VOID, которая не выдаёт величины, или же когда ваша программа, используя данную функцию Си, игнорирует величину, выдаваемую этой функцией

define_c_func (определить_функцию_Си)

- определяет номер функции Си, которая выдаёт величину, подлежащую учёту и использованию в вашей программе

define_c_var (определить_переменную_Си)

- выдаёт адрес в памяти для заданной переменной Си

c_proc (процедура_Си)

- вызывает функцию Си, игнорируя выдаваемую ею величину

c_func (функция_Си)

- вызывает функцию Си и выдаёт её величину

call_back (обратный_вызов)

- выдаёт 32-битный машинный адрес подпрограммы Euphoria по заданному её номеру для использования в качестве адреса обратного её вызова из операционной системы

message_box (табличка_сообщения)

- выводит диалоговое окно для получения от пользователя ответа Да/Нет/Сброс

free_console (освободить_консоль)

- удаляет текстовое окно консоли

instance (экземпляр)

- выдаёт идентификатор состояния текущей программы

2.16 Многозадачность

Набор подпрограмм данного раздела позволяет вам организовывать в своей программе множественные независимые задачи, решаемые в режиме разделения времени. Каждая задача имеет свою собственную текущую исполняемую команду, свой собственный стек вызовов и своё собственное множество частных переменных. Локальные (местные) и глобальные переменные программы являются общими для всех задач. Когда в задаче вызывается подпрограмма task_yield(), выполнение задачи приостанавливается, управление передаётся диспетчеру задач Euphoria, и он решает, какую задачу из общей очереди следует поставить на дальнейшее исполнение.

Демонстрационная игра The Language War, lw.ex, широко использует механизм многозадачности для создания модели боя, в котором участвуют многочисленные независимо движущиеся корабли, торпеды, фазоры и т.д. Просмотрите также демо-программу taskwire.exw для Windows, и демо-программу news.exu для Linux и FreeBSD.

task_clock_start (задача_часы_старт)

- перезапускает часы диспетчера задач

task_clock_stop (задача_часы_стоп)

- останавливает часы диспетчера задач

task_create (задача_новая)

- создаёт новую задачу

task_list (задача_список)

- выдаёт список всех задач

task_schedule (задача_план)

- задаёт диспетчеру план решения задачи

task_self (задача_какая)

- выдаёт идентификатор текущей задачи (номер)

task_status (задача_состояние)

- выдаёт текущее состояние задачи (активна, приостановлена, прервана)

task_suspend (задача_стоп)

- приостанавливает решение задачи

task_yield (задача_другая)

- управление задачами передаётся диспетчеру, запускающему на исполнение другую задачу.

...

3. Алфавитный справочник по стандартным подпрограммам

от A до B

?

Синтаксис:

? x

Описание:

Это просто короткая форма записи для команды: pretty_print(1, x, {}), по которой на экране осуществляется печать величины объекта, заданного выражением. Для более наглядного отображения структуры объекта печать производится в столбик со скобками, запятыми и отступами. Единственное отличие от pretty_print() заключается в том, что печать по команде ? завершается ещё и автоматическим переводом курсора в начало новой строки.

Пример:

? {1, 2} + {3, 4} -- будет напечатано {4, 6}

См. также:

pretty_print, print

abort

Синтаксис:

abort(i)

Описание:

Прерывает исполнение программы. Аргумент i представляет собой небольшую целочисленную величину кода окончания программы, выдаваемого в операционную систему. Код окончания 0 в общем случае соответствует успешному завершению программы. Другие коды используются для указания на характер ошибки, по которой программа прервана. Пакетные программы DOS (.bat-файлы) могут считывать величину этого кода с помощью команды errorlevel. Программы Euphoria могут считывать эту величину, если дочерняя программа была запущена из подпрограммы system_exec().

Комментарии:

Подпрограмма abort() бывает особенно полезна, когда необходимо немедленно прервать исполнение программы изнутри глубоко вложенных вызовов подпрограмм, например, из-за обнаруженной опасной ошибки.

Если вы не применяете abort(), а программа завершается естественным порядком, интерпретаторы ex.exe/exw.exe/exu выдают в операционную систему код окончания 0. Если ваша программа прерывается по обнаруженной Euphoria ошибке времени компиляции или времени исполнения, выдаётся код 1.

Пример:

if x = 0 then

puts(ERR, "не могу делить на 0 !!!n")

abort(1)

else

z = y / x

end if

См. также:

1 ... 15 16 17 18 19 ... 39 ВПЕРЕД
Перейти на страницу:

Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение W Cat - Язык программирования Euphoria. Справочное руководство, относящееся к жанру Программирование. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.

Комментарии (0)