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

1.3 Запуск программы

1.3 Запуск программы

Программы Euphoria запускаются из командной строки вводом команды ex , exw или exu , сопровождаемой именем главного файла программы Euphoria. Вы также можете вводить здесь дополнительные слова (известные как аргументы командной строки ). Ваша программа может вызывать встроенную функцию command_line(), чтобы прочесть всю введённую вами командную строку. Версия интерпретатора Euphoria для DOS32 называется ex.exe . Версия для WIN32 называется exw.exe . Версия для Linux/FreeBSD называется exu . Как это здесь принято, главные файлы программ Euphoria имеют расширения .ex , .exw или .exu . Другие файлы Euphoria, предназначенные для включения в главную программу, имеют расширения .e или иногда .ew или .eu . Чтобы сократить команду, вы можете опускать ".ex", и интерпретатор ex будет подставлять это расширение для вас автоматически. exw.exe будет подставлять ".exw", а exu -- ".exu". Каждый из интерпретаторов перебирает и другие возможные расширения, если файл с основным расширением не нашёлся. Если файла с заданным именем, но ни с одним из условленных расширений, нет в текущем каталоге, проверяются каталоги из переменной окружения PATH (сначала с использованием основного расширения, а затем остальных).

Вы можете перенаправлять стандартные ввод и вывод из программы Euphoria, например:

ex filesort.ex sorted.txt

или просто,

ex filesort sorted.txt

В отличие от многих других компиляторов и интерпретаторов, здесь нет аргументов командной строки, предназначенных для изменения режима собственно интерпретаторов ex , exw или exu . Интерпретатор реагирует только на имя вашей программы Euphoria, и если вы не указали это имя, он пригласит вас к его вводу.

Для часто используемых программ под DOS/Windows вам могут пригодиться маленькие пакетные .bat файлы, к примеру, myprog.bat , содержащий пару команд наподобие показанных ниже:

@echo off
ex myprog.ex %1 %2 %3

Первая команда выключает отображение собственно команд на экране. Вторая - запускает ex myprog.ex с тремя или менее аргументами командной строки. Просмотрите описание функции command_line(), там есть пример, как можно читать эти аргументы по ходу вашей программы. Если вашей программе требуется большее число аргументов, нужно добавить %4 %5 и т.д. Наличие .bat-файла сэкономит вам несколько нажатий на клавиши при наборе ex (или exw ) каждый раз, когда вы запускаете свою любимую программу, т.е. вы можете просто ввести:

myprog

вместо:

ex myprog

К сожалению, DOS не позволяет перенаправление стандартных ввода и вывода, если вы используете .bat -файл.

Под Linux/FreeBSD, вы можете задать путь к интерпретатору Euphoria в первой строчке вашего главного файла. То есть, если ваша программа называется, например, foo.exu:

#!/home/me/euphoria/bin/exu
procedure foo()
? 2+2
end procedure
foo()

Затем вы делаете ваш файл исполняемым:

chmod +x foo.exu

А затем просто вызываете его на исполнение:

foo.exu

чтобы запустить свою программу. Вы можете даже укоротить имя программы до простого "foo". Интерпретатор Euphoria игнорирует первую строку, если она начинается с #! . А командный интерпретатор ОС Linux трактует такую строку как путь к программе (т.е. интерпретатору Euphoria), предназначенной для открытия (запуска) данного файла. Но будьте внимательны - эта первая строка должна заканчиваться в стиле Linux/FreeBSD символом перевода строки n, а не в стиле DOS/Windows символами возврата каретки - перевода строки rn, иначе командный интерпретатор Linux/FreeBSD может сбиться. Если ваш файл окутан, вы должны указывать путь к backendu, а не к exu.

Что касается связанных файлов, их можно получить, запустив bind.bat (DOS32) или bindw.bat (WIN32), или bindu

(Linux/FreeBSD), чтобы связать вашу программу Euphoria с ex.exe , exw.exe или exu в единый самостоятельный двоичный исполняемый файл (типа .exe для DOS/Windows). С таким самостоятельным .exe -файлом вы можетеуже и перенаправлять стандартные ввод и вывод. Окутывание и связывание подробно обсуждаются в разделе 1.5 Распространение программы .

Используя транслятор с Euphoria на Си, вы можете получить другой вариант самостоятельного .exe-файла, который обычно будет исполняться значительно быстрее, чем связанная программа.

exu или ex.exe и exw.exe находятся в каталоге euphoriabin , который должен быть в пути поиска. Переменная окружения EUDIR должна указывать на главный каталог Euphoria, т.е. c:euphoria .

Оглавление книги


Генерация: 0.051. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз