Привет!
Есть либа, написанная на С++. Есть SWIG интерфейс, написанный в ней, и реализующий
полный доступ ко всем нужным функциям, переменным.
Есть отдельно перловые либы, в которых используются данные, доставаемые через этот SWIG,
и дополнительно оперирующие со своими чисто перловыми данными.
Появилась новая С++ либа, в которой требуется включить поддержку выполнения
некоего перлового кода, подаваемого С++ либе в виде стороннего скрипт-файла (функция поддержки
уже на перле написана для парсинга,обработки и выполнения этого кода, прописанного в скрипте),
который будет изменять и чисто перловые данные в перловых либах и С++ данные через SWIG
интерфейс в С++ либах.
Вопрос — как включить эту поддержку?
Типа в идеале, чтоб просто работало как то так:
call_perls_parsing_function("path_to_script");
Т.е. как в сишном коде вызвать уже существующую перловую ф-ию парсинга кода скрипта,
при это передав ей в аргументах указатели на oSWIG'ованные Сишные переменные.
А>Т.е. как в сишном коде вызвать уже существующую перловую ф-ию парсинга кода скрипта, А>при это передав ей в аргументах указатели на oSWIG'ованные Сишные переменные.
Здравствуйте, 5er, Вы писали:
5er>Здравствуйте, Аноним, Вы писали:
А>>Т.е. как в сишном коде вызвать уже существующую перловую ф-ию парсинга кода скрипта, А>>при это передав ей в аргументах указатели на oSWIG'ованные Сишные переменные.
5er>Думаю, что вам нужен perlembed.
гм, да, вроде это то, но, мой бог, ТАК извращаться...
Неужель более высокоуровневого стиля API никто не создал?
Чтоб в одну — ну две строки вызов перловых функций шел?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, 5er, Вы писали:
5er>>Здравствуйте, Аноним, Вы писали:
А>>>Т.е. как в сишном коде вызвать уже существующую перловую ф-ию парсинга кода скрипта, А>>>при это передав ей в аргументах указатели на oSWIG'ованные Сишные переменные.
5er>>Думаю, что вам нужен perlembed.
А>гм, да, вроде это то, но, мой бог, ТАК извращаться... А>Неужель более высокоуровневого стиля API никто не создал? А>Чтоб в одну — ну две строки вызов перловых функций шел?
Так напишите удобный класс.
И по-моему извращение здесь из С за perl дергать.
Впрочем, задачи разные бывают, конечно.
Re[4]: Вызов перла из С++ либы
От:
Аноним
Дата:
19.07.11 18:27
Оценка:
Здравствуйте, 5er, Вы писали:
...... А>>гм, да, вроде это то, но, мой бог, ТАК извращаться... А>>Неужель более высокоуровневого стиля API никто не создал? А>>Чтоб в одну — ну две строки вызов перловых функций шел?
5er>Так напишите удобный класс. 5er>И по-моему извращение здесь из С за perl дергать. 5er>Впрочем, задачи разные бывают, конечно.
увы, да, супер необходимо тока так сделать...
Класс то понятно, что писать придется...
Напрягает тока то, что уж совершенно неизведанная "тропа"
предо мной лежит... Там в виде примеров совсем не то, что мне надо
делается, значит придется на "грабли" наступать, оформляя
нужный функционал в виде класса...
Но вообще эт очень странно, что именно класса, обертывающего
всю эту ахинею, представленную в виде кучи функций, до
сих пор никто не оформил...
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, 5er, Вы писали:
А>...... А>>>гм, да, вроде это то, но, мой бог, ТАК извращаться... А>>>Неужель более высокоуровневого стиля API никто не создал? А>>>Чтоб в одну — ну две строки вызов перловых функций шел?
5er>>Так напишите удобный класс. 5er>>И по-моему извращение здесь из С за perl дергать. 5er>>Впрочем, задачи разные бывают, конечно.
А>увы, да, супер необходимо тока так сделать... А>Класс то понятно, что писать придется... А>Напрягает тока то, что уж совершенно неизведанная "тропа" А>предо мной лежит... Там в виде примеров совсем не то, что мне надо А>делается, значит придется на "грабли" наступать, оформляя А>нужный функционал в виде класса... А>Но вообще эт очень странно, что именно класса, обертывающего А>всю эту ахинею, представленную в виде кучи функций, до А>сих пор никто не оформил...
Почему же не оформил. Либы-то есть для C++.
Вот libperl++, например.
Но рекомендовать не могу, не использовал.
Посмотрите в поиске, может вам подойдет.
Re[6]: Вызов перла из С++ либы
От:
Аноним
Дата:
20.07.11 13:00
Оценка:
Здравствуйте, 5er, Вы писали:
..... 5er>Почему же не оформил. Либы-то есть для C++. 5er>Вот libperl++, например. 5er>Но рекомендовать не могу, не использовал. 5er>Посмотрите в поиске, может вам подойдет.
увы, ее написали под компилятор gcc 4.5 и выше, а у нас
принят на вооружение тока 3.2.3 и ни "на грамм выше"(((
ндя.... писанины прибавится чую...
и спс. за участие))) хоть какие-то ответы но я получил)))