Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнение с++ программы 
:(
    Опции темы
Reptor
Дата 28.3.2008, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Есть у меня некоторая проблемка с написанием 3D графики на JOGL так как я что то не могу найти нормальной структурированой документации по нему и решил делать эту графику на С++. Так вот в чём собственно проблема: у меня есть Java приложение с помощью которого можно рисовать некоторые фигуры тоесть как бы собирать данные по этим фигурам, а потом мне эти фигуры надо отобразить через 3D графику но это у меня не выходит так как JOGL я не умею пользоваться. Например данные по фигуре я могу перед отрисовкой сохранить в ХМЛ файл. Так вот могу ли я как то вызвать из Java программу C++ которая собственно и будет рисовать мне эти 3D фигуры в отдельном окне? Ну или что посоветуете что б как то выкрутиться из этой ситуации??  smile 
PM MAIL ICQ   Вверх
Aikus
Дата 28.3.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 29.11.2007

Репутация: нет
Всего: 1



Если хочешь сделать это в отдельном процессе используй вызов вроде 
Код

Process.exec (tvoyprog.exe -f file.xml);

Если хочешь в том же процессе, то читай JNI, по нему дока нормальная точно.
PM MAIL   Вверх
Reptor
Дата 28.3.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Цитата


Если хочешь сделать это в отдельном процессе используй вызов вроде 

код Java    
1:    
Process.exec (tvoyprog.exe -f file.xml);    

Если хочешь в том же процессе, то читай JNI, по нему дока нормальная точно.


что то я не совсем понял причём так хмл файл. Вопрос как бы не в этом был

Это сообщение отредактировал(а) Reptor - 28.3.2008, 16:06
PM MAIL ICQ   Вверх
LSD
Дата 28.3.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Reptor @  28.3.2008,  16:06 Найти цитируемый пост)
что то я не совсем понял причём так хмл файл. Вопрос как бы не в этом был

При том же, при чем и ключ -f - просто для примера smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Reptor
Дата 28.3.2008, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Можете мне объяснить тогда в чём разница между тем что б сделать это в отдельном процессе или в том же? что луче и чем выгодней? 
PM MAIL ICQ   Вверх
LSD
Дата 28.3.2008, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Отдельный процесс:
+ проще, просто написал приложение на чем хочешь и запускаешь
+ независимо, может продолжить работу после завершения твоей программы, в случае аварийного завершения, твоя программа продолжит работать и наоборот, в конце концов способно работать отдельно от твоего приложения
+ можно запустить несколько экземпляров
- взаимодействие ограничено stdin/stdout или сокеты, а значит медленней и нужно изобретать протокол взаимодействия
- запуск отдельного приложения дольше

Вызов через JNI:
+ быстрее, чуть медленней чем обычный вызов метода
+ можно использовать типы Java
- разрабатывать сложней, требуется реализовывать программу в виде dll и имплементировать нужные методы, типы Java нужно конвертировать в типы C++
- программы станут трудноразделимы

Вообщем JNI это просто дописывание нужного функционала на C++.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Reptor
Дата 28.3.2008, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



LSD, огромное спасибо я понял что к чему и наверно остановлюсь на первом варианте. Вот только мне ещё не понятно вотето 

Цитата

- взаимодействие ограничено stdin/stdout или сокеты, а значит медленней и нужно изобретать протокол взаимодействия


Я не совсем понял что это за ограничение, ведь я просто запустил exe файл который выполнился, зачем какието протоколы взаимодействия? на что они влияют и можно ли без них?
PM MAIL ICQ   Вверх
Kangaroo
Дата 28.3.2008, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



Цитата(Reptor @  28.3.2008,  16:30 Найти цитируемый пост)
Я не совсем понял что это за ограничение, ведь я просто запустил exe файл который выполнился, зачем какието протоколы взаимодействия? 

Если тебе нужно будет передать какую-либо информацию между этими двумя приложениями, то нужно будет использовать то, что написал LSD.


--------------------
Lost....
PM MAIL MSN   Вверх
LSD
Дата 28.3.2008, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Reptor @  28.3.2008,  17:30 Найти цитируемый пост)
Я не совсем понял что это за ограничение, ведь я просто запустил exe файл который выполнился, зачем какието протоколы взаимодействия? на что они влияют и можно ли без них?

Я же не знаю логику твоей программы, вдруг в ходе работы надо передавать данные. Не надо, так не надо, так даже проще.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Reptor
Дата 28.3.2008, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Ну в принципе я понял что тут к чему только я в небольшом замешательстве как поступить правильно? Можете мне помочь выбрать правильный вариант решения проблемы? Мало у меня опыта и трудно принять решение.

Добавлено через 1 минуту и 4 секунды
Да и по сути необходимо будет передавать один параметр а именно это будет имя файла в котором хранится инфа про фигуру.
PM MAIL ICQ   Вверх
v2v
Дата 28.3.2008, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 8
Всего: 56



Цитата(Reptor @  28.3.2008,  19:11 Найти цитируемый пост)
Мало у меня опыта и трудно принять решение.


Цитата(Reptor @  28.3.2008,  19:11 Найти цитируемый пост)
Да и по сути необходимо будет передавать один параметр а именно это будет имя файла в котором хранится инфа про фигуру. 

первый вариант будет как раз для тебя.
на java подготавливаешь данные , сохраняешь в файл , а дальше запускаешь с++ приложение и там отрисовываешь что надо.




--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1533 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.