Девиз
темы: - Пусть
я не в
здравом уме,
зато в своем!
"Востановление
приложений
самими
приложениями"
Адрес
документа: |
http://90.189.213.191:4422/temp/galinam_wolfram.com_v1/galinam_wolfram.com_v1.doc инд:
2-126-6 |
Вводная
часть.
Предлагается метод
перехода
«данных в
программу» и
«программы в
данные» c использованием
одного файла
программы.
Приложение
- это
выполняемый
файл, который
СРАЗУ и
НЕПОСРЕДСТВЕННО
выполняется
процессором
компьютера.
Существуют и другие варианты файлов. Например, текстовый файл. Он выполняется программой, которая имеется в компьютере. Эти варианты с использованием посредников (в нашем примере текстовый редактор, например Блокнот) не рассматриваем. Посредники не нужны.
Наша задача состоит в том, чтобы создав приложение, т.е. программу, которая работает на компьютере, в дальнейшем, когда потребуется, можно модифицировать, добавить или ввести другие требуемые изменения. И использовать только то, что есть, а именно имеющееся приложение в одном файле.
Наша
задача -
объединить
всё в одном
файле для
дальнейшего
развития.
Создание
приложения с
восстановлением
всех
компонентов.
Что
понимаем под
компонентами,
из которых создается
приложение?
На рисунке
ниже приведен
алгоритм взаимодейстивя
основных
компонентов[1].
Рассмотрим
состав компонентов
в авторской
разработке: Программа
и схема … [5]
В
данной
работе нас
интересует
программа, которая
имеет
возможность
восстановления
всех
компонентов.
Ниже рисунок - скан экрана содержащий все необходимые файлы. В поле слева расположены компоненты. Справа - файл приложения.
Программа выполняет задачу обслуживания схемы. Подробности пока опустим. Кому интересно, может почитать [5] . Перечислим функции файлов, составляющие элементы программы:
· *.ico - файлы иконок;
· *.jpg - файл(ы) схемы;
· * .cmd - файл исполнения компиляции. В нем указывается компилятор и файл компиляции. Конечно же, можно и без него, но с ним удобнее;
· *.exe - компилятор языка программирования FORTH. На этом языке автор приводит пример восстановления приложений самими приложениями;
·
*.f -
текст программы
на языке программирования
FORTH [2];
Таким образом, имеем 6 файлов, которые после компиляции формируются в один. Напомним, что компиляция это преобразование исходный данных в код, который воспринимается компьютером как программа. Ниже на рисунке-gif показан процесс компиляции.
В работе [1] приводится пример формирования файла приложения из большого количества файлов. Количество файлов и их состав определяется при выполнении задачи программы.
Вполне возможно, что может быть и меньшее количество файлов.
Важно, что бы файлы помогали и содержали информацию о задаче программы.
Программа
готова и
может
работать с
устройством
или по своей
задаче. Ее не
надо устанавливать,
она
переносится
копированием. Язык
программирования
FORTH [2] создает
портабельные
программы.
Если программу *.exe выполнить, то откроется рабочее окно и программа заработает по своему алгоритму.
Жили они
поживали,
добро
наживали, как
вдруг пришла
беда, откуда
не ждали -
программа
устарела.
Этот шуточный, сказочный случай в заголовке абзаца постоянно встречается в развитии компьютерной техники. Может, конечно, и не программа устарела, а компьютер устарел или появились более мощные компьютеры и появились новые «хотелки».
Но задача одна - надо программу заменить или, что в нашем случае и будет, МОДЕРНИЗИРОВАТЬ.
Вот на этот случай и заложена возможность извлечь все компоненты из файла *.exe.
Ниже на рисунке-gif показан процесс «извлечения» содержимого.
В меню программы по нажатию клавиши =o= выполняется полное восстановление всех компонентов, а именно всех 6 файлов. Таким образом, получаем вновь исходные компоненты программы. Вникаем в суть новых модернизаций и «хотелок» и исправляем текст программы. Затем компилируем новое приложение с новым составом компонентов и вновь запускаем приложение в работу.
Подробное описание команд и текста языка программирования в данном случае не слишком важно. Мы рассматриваем саму идею - всё в одном файле. Подобную программу можно написать и на других языках программирования. Только другие языки потребуют своих особых затрат и ресурсов.
Возможно, что и не получиться создать простым способом =портабельность= выходного приложения на других языках программирования.
Важен еще и тип выполнения - интерпретатор или компилятор. Существуют и смешанные варианты языков. Язык Forth в этом классе стоит выше всех. Он и интерпретатор, и компилятор одновременно.
Текст программы, которая выполняется в данном примере, открывается обычным «Блокнотом» или любым другим текстовым редактором.
Для желающих
познакомиться
с языком
программирования
FORTH
более
подробно,
приведен еще
один
подобный
пример авторской работы
[3].
Предлагаемая
программа в
режиме исполнения
содержит
справочную
систему по
языку FORTH, в которой
есть много
примеров и
ссылок на сайты.
Выводы.
Литература
Подготовил
Шабронов
Андрей Анатольевич тс +7-913-905-8839 shabronov@ngs.ru