#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 . вы можете мне помочь?