| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Встроенный java script в си++ |
| Автор: Konst 28.8.2003, 09:03 |
| Хочу встроить java в си. Что бы при чтении скрипта я мог вызывать мои сишные функции, менять переменные и все такое. Что называется embedded java. Подскажите как это сделать? Или киньте ссылочку на инфу. |
| Автор: DarkDS 28.8.2003, 09:40 |
| Ты имеешь ввиду написать на яве прогу с найтив длл? Где использоваться будет? в аплете/StandAlone приложении? |
| Автор: Konst 28.8.2003, 10:21 |
| Ну к примеру, есть у меня программа на си++. В ней есть функция CreateObject(Vector position). Я встраиваю java в свой код. Компилирую. Потом пишу в файле скрипт на java, который вызывает мою функцию CreateObject(Vector position) с заданным в аргументах position. Запускаю программу. Происходит какое-то событие -> читается мой файл со скриптом -> исполняется моя функция, появляется мой объект. Хотя бы с самой простой постановке - это вот так. Как я понимаю, должен быть интерпритатор скрипта у меня быть встроенный, который бы на ходу вкомпилировывал "новый код" при чтении скрипта. |
| Автор: DarkDS 28.8.2003, 10:57 |
| Что ты подразумеваешь под "скрипт на java"? |
| Автор: Konst 28.8.2003, 11:00 |
| Какой либо код, написанный на java. |
| Автор: Sun 28.8.2003, 11:33 |
| Существует технология от Майкрософт, под названием Active Scripting, которая позволяет в твоем приложении использовать интерпретатор JavaScript или VBScript. Соответственно вся эта беда будет работать только под Windows. Прочитать про технологию можно в MSDN. |
| Автор: DarkDS 28.8.2003, 11:43 |
| 1. Если нужно чтобы Сишный код вызывал Яву... то Актив Скрипт. Но это не чистая ява, а ЯваСкрипт (в общем то смотри выше - меня по этому поводу опередили) 2. Если нужно чтобы ява вызывала сишный код - то тут нужно писать найтив либу. Но это будет работать (наскока я знаю) только в СтандАлоне приложениях. 3. Если нужно чтобы Сишный код вызывая _С команду_ получал оттуда данные, созданные на Яве (чистой)... То тут нужно писать свой компилятор Ява->машинный код. |
| Автор: Konst 28.8.2003, 11:52 |
| 2DarkDS Видимо как раз первое из твоего списка. Сравнивания встраивание lua в си подходит и второе и третье. Как там было. Я подцеплял библиотеки люшные, регестрировал в сишном коде сишные функции для lua. Потом писал скрипт, и непересобирая проект читал скрипт, "менял программу" на ходу. Так что, как я понимаю, то ActiveScript - это и библиотека и интерпритатор java скрипта - наверное это оно - почитаю. 2SunСпасибо. |
| Автор: Konst 13.9.2003, 14:02 |
| Я был не прав. Не ActiveScript мне нужен. А что на подобии GVM. Про GVM я новый трэд начал. Тему наверное можно закрыть. |