Конвертировать Java jar-файл в cpp

#java #c #qt #symbian

#java #c #qt #symbian

Вопрос:

У меня есть Java-код, и я создал jar-файл. Мне нужно создать приложение Qt. Могу ли я использовать этот код в этом приложении? Пожалуйста, помогите мне, как я могу использовать этот jar-файл.

Спасибо, Нагараджу.

Ответ №1:

Вы могли бы взглянуть на возможности GCC / GCJ (см.http://gcc.gnu.org / ). ХОРОШАЯ ли это идея — это совсем другая история, и зависит от того, что у вас есть, и чего вы пытаетесь достичь. Должно быть выполнимо связать SO, созданные с GCJ в приложениях QT, но я серьезно задаюсь вопросом, не лучше ли вам использовать C или Java, но не смешивать их

Комментарии:

1. на самом деле я написал логику на Java с использованием функций Map, list и String, которые я не могу преобразовать в c . вот почему мне нужен какой-нибудь конвертор.

2. Могу ли я написать Qt-приложение на Java?

3. ИМХО, QMap, QString, QList столь же эффективны, как и их аналоги в JDK. Вы уверены, что не можете выполнить преобразование. Редактировать: Qt Jambi — это Qt для Java

Ответ №2:

Если ваш Java-код принимает входные данные из stdin или какого-либо файла и записывает выходные данные в stdout или какой-либо файл, то самый простой способ — использовать java для запуска этого jar и проанализировать выходные данные в вашем Qt-коде.

Помимо этого, вам нужно быть немного конкретнее. Что-то вроде «мой Java-код рисует экран».

Комментарии:

1. На самом деле у меня есть четыре класса. в нем нет никаких экранов. в нем есть некоторая логика, и он запрашивает одну строку в конструкторе.

Ответ №3:

Мой совет — использовать SWT или Swing.

Ответ №4:

Вы можете использовать gcj gcj для компиляции java-кода в библиотеку и просто вызывать функции Java-кода из вашего C-кода.

Комментарии:

1. можете ли вы рассказать о ‘gcj’. как использовать?

Ответ №5:

Да, вы можете использовать ваш jar-файл в вашем приложении Qt. Я сделал именно это сам.

Один из способов — использовать JNI API вызова. Это часть Java Native Interface (JNI), которая делает возможным, но неприятным доступ к Java API с C .

Гораздо более приятным подходом является использование CodeMesh JunC ion, который оборачивает Java API в классы C . Это отличный продукт, если вы можете себе это позволить.

Если у вас очень мало Java-кода, возможно, будет проще перенести его на C .

Комментарии:

1. Я не могу загрузить версию CodeMEsh junC . вы можете мне помочь?