URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 5837
[ Назад ]

Исходное сообщение
"Безумная затейка."

Отправлено Fagot , 23-Окт-06 21:11 
Вобщем задумка такая: есть скриптик. Описание преметивной логики:
if(a>0 and a<5)
return 1;
else
return 0;
endif
Можно ли его как-то вогнать в память и уже из памяти к нему обращаться как функции.
В теории его можно перегнать в бинарный вид. Но что дальше делать... ?

Использовать внешнии обработчик - это долго.
В условии скорость работы. Как можно быстрей.
Поэтому постоянно парсить скрипт, и вычислять результат, просто нет времени.
Также вызов внешних программ (напрмер sh) тоже кретично.


Содержание

Сообщения в этом обсуждении
"Безумная затейка."
Отправлено DeadMustdie , 24-Окт-06 09:05 
Ключевой вопрос - откуда использовать-то?
Если из шеллу, можно немножко извратиться и чуток докрутить напильником
собственно шелловский интерпретатор, чтоб у него такая функция встроенная
появилась.

"Безумная затейка."
Отправлено NuINu , 24-Окт-06 09:27 
>Вобщем задумка такая: есть скриптик. Описание преметивной логики:
>if(a>0 and a<5)
> return 1;
>else
> return 0;
>endif
>Можно ли его как-то вогнать в память и уже из памяти к
>нему обращаться как функции.
>В теории его можно перегнать в бинарный вид. Но что дальше делать...
>?
>
>Использовать внешнии обработчик - это долго.
>В условии скорость работы. Как можно быстрей.
>Поэтому постоянно парсить скрипт, и вычислять результат, просто нет времени.
>Также вызов внешних программ (напрмер sh) тоже кретично.

Затейка действительно безумная!!! но для любителей скорости придумали, Си, и динамически линкуемые библиотеки.
А для любителей еще большей оптимизации есть Юникс сокеты, и сервера.
Запусти свой скрипт как демон, и пусть он читает какой нибудь юникс сокет, и возвращает в него данные, любое приложение сможет воспользоваться его сервисом.


"Безумная затейка."
Отправлено Fagot , 24-Окт-06 09:54 
1. Это используется не из шела. Скрипт находится в виде текста. Программа на Си обрабатывает этот скрипт.

2. Как демон тоже не запустить. Во первых это не баш и ничего. Это просто скрипт моей программы.

Вобщем щас читаю про полиморфные вирусы. Там моя проблемка немного открывает.
Вобщем пробую так:
1.скрипт преобразуется в бинарный формат.
2.полученый результат вгоняется в память.
3.в программе устанавливается ссылка на этот кусок памяти.
4.когда нужно использовать этот скрипт то просто выхывается обычная процедура (ссылка на память с кодом) и код исполняется.
Пока проблема в пунктах 2 и 3.


"Безумная затейка."
Отправлено Keeper , 24-Окт-06 16:13 
А если добавить к ядру ОС еще один системный вызов с требуемой логикой? Можно оформить как модуль ядра.

"Безумная затейка."
Отправлено Fagot , 24-Окт-06 20:24 
>А если добавить к ядру ОС еще один системный вызов с требуемой
>логикой? Можно оформить как модуль ядра.

Скрипты создаются динамически и также динамически цепляются к проге.


"Безумная затейка."
Отправлено NuINu , 26-Окт-06 10:17 
>1. Это используется не из шела. Скрипт находится в виде текста. Программа
>на Си обрабатывает этот скрипт.
>
>2. Как демон тоже не запустить. Во первых это не баш и
>ничего. Это просто скрипт моей программы.
Пардон, а почему вы думаете что вы изобретете лучший язык чем баш??? или чем перл???
Кто потом бует изучать этот язык??? А сопровождать вашу программу??
я в свое время тоже бредил созданием собственных языков(пока не столкнулся с юникс)

>
>Вобщем щас читаю про полиморфные вирусы. Там моя проблемка немного открывает.
ну это вы зря, в мире и без полиморфных вирусов полно важных проблем, ждущих вашего решения.

>Вобщем пробую так:
>1.скрипт преобразуется в бинарный формат.
бинарный?? это что за формат такой??? вы пытаетесь создать компилятор???
или бинарный это байт-код??? значит  интерпертатор байт-кода???

ни дать не взять, перл или ява, или бейсик(чур меня ;-)) ).

>2.полученый результат вгоняется в память.
вот уж не думаю что с этим может возникнуть проблема.

>3.в программе устанавливается ссылка на этот кусок памяти.
и это проблема не большая.

>4.когда нужно использовать этот скрипт то просто выхывается обычная процедура (ссылка на
>память с кодом) и код исполняется.
>Пока проблема в пунктах 2 и 3.
так а в чем проблема???