Окутывание и связывание
Описание: shroud [-clear] [-list] [filename] Команда shroud (окутать) преобразует программу Euphoria, обычно состоящую из главного файла и множества библиотечных файлов, в единственный окутанный (shrouded), т.е. зашифрованный, файл, который легко можно распространять среди других пользователей. По умолчанию после команды shroud будут выполнены следующие шаги:
режимы:
Если вы просто введете: shroudбез указания режима или имени файла, вы будете приглашены ко вводу всей информации. По команде shroud выполняется только очень поверхностная проверка синтаксиса вашей программы. Вы должны тщательно оттестировать вашу программу перед ее окутыванием или связыванием. Вы можете распространять окутанный включаемый файл .e, так что люди смогут использовать эту библиотеку в своих программах без доступа к вашему исходному коду. Идентификаторы, объявленные как global в вашем главном файле .e, не будут переименованы или удалены, так что ваши пользователи смогут использовать подпрограммы и переменные с их осмысленными длинными именами. Вы можете окутывать или связывать программу, которая включает окутанный файл (полученный от кого-то еще). Тем не менее, в этом случае вам не удастся воспользоваться режимом -CLEAR, чтобы не снижалась безопасность включенного окутанного файла. Только RDS располагает сведениями, необходимыми для расшифровки программ, но у нас отсутствует инструментарий для этой работы. Даже если кто-то ухитрится расшифровать программу, ему откроется код, к которому были применены шаги 1 - 5. Комментарии и осмыссленные имена переменных и подпрограмм принципиально никогда не могут быть восстановлены. Всегда имейте резервную копию вашего оригинального исходного кода!
Описание:
По команде bind (связать) (bindw или bindu) выполняются те же самые действия, что и по команде shroud, и она имеет те же самые режимы. Но затем она объединяет (связывает) ваш окутанный (или чистый текстовый) файл с интерпретаторами редакции Public Domain ex.exe, exw.exe или exu, чтобы создать единственный самостоятельный исполняемый файл, который вы можете с удобствами использовать и распространять. Вашим пользователям в этом случае нет необходимости иметь на своей машине установленную Euphoria. Каждый раз, когда запускается такой исполняемый файл, производится быстрая проверка его целостности для обнаружения любых вмешательств или его порчи. режимы:
Если вы просто введете: bind (или bindw или bindu)без указания режима или имени файла, вас пригласят ко вводу всей необходимой информации. Связаны могут быть только интерпретаторы редакции Public Domain. Пользователи Euphoria редакции Complete Edition для DOS32 + WIN32 будут иметь ex.exe (Complete) и pdex.exe (Public Domain), равно как и exw.exe (Complete) и pdexw.exe (Public Domain) в каталоге euphoria\bin. Программа bind (bindw) для связывания использует файлы pdex.exe (pdexw.exe). Под Linux у вас будут exu (Complete) и pdexu (Public Domain), с pdexu, используемым для связывания. Программа Euphoria, состоящая из одной-единственной строчки кода, но связанная с интерпретатором, приобретает размеры этого интерпретатора, но в дальнейшем общий размер возрастает крайне медленно, если вы добавляете код в свой файл. Будучи связанным, целый редактор Euphoria добавляет только 18K к размеру интерпретатора. Все три интерпретатора подвергнуты компрессии для уменьшения их размера. exw.exe и exu сжаты с использованием компрессора UPX (см. http://upx.tsx.org). ex.exe сжат с помощью инструментария, поставляемого с расширителем DOS CauseWay. ex.exe является наиболее крупным файлом, так как он содержит большое число подпрограмм пиксельной графики, которые не входят в состав exw.exe или exu. Примечание: В некоторых весьма редких случаях сжатые исполняемые файлы могут вызывать срабатывание предупредительного сигнала антивирусных программ. Это происходит по той причине, что такой исполняемый файл выглядит не вполне обычно для антивирусного сканера. Если программа demo\sanity.ex исполняется правильно, вы можете спокойно игнорировать эти предупредительные сигналы. В противном случае свяжитесь с RDS. Первые два аргумента, выдаваемые библиотечной функцией command_line(), будут слегка другими, когда ваша программа связана. Прочтите libraryr.doc для уяснения деталей. Связанный исполняемый файл может обрабатывать перенаправления стандартных входа и выхода, т.е. myprog.exe < file.in > file.outЕсли же вы написали маленький .bat файл для DOS myprog.bat, который содержит строку "ex myprog.ex", вы не сможете перенаправить вход и выход в такой же манере: myprog.bat < file.in > file.out (под DOS не работает!)Тем не менее, вы сможете использовать перенаправление в отдельных строках внутри файла .bat. |