JNI и Java: муравей призвание сделать или сделать вызов муравей?

голоса
5

Я просто о том, чтобы сделать свою первую поездку в мир JNI (Java Native Interface) предоставлять уведомления об изменении файловой системы из кода конкретной платформы C / C ++ для Java. То есть, если кто-то не предполагают некоторую блестящую библиотеку для этого, что я пропустил.

Будучи новой для JNI мне удалось найти много документации на интерфейсной стороне от него и библиотеки стороны поколения его, но я не нашел много на создание родную библиотеки.

У меня есть существующий билд, основанный на муравей для уже существующего источника Java, так что я пытаюсь работать, если я должен получить муравей позвонить сделать, чтобы создать библиотеку или, если это лучше, чтобы получить сделать, чтобы позвонить муравей после создания библиотека?

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

Задан 18/08/2008 в 23:15
источник пользователем
На других языках...                            


5 ответов

голоса
3

Я сильно недолюбливаю сделать из - за ее неявным набор правил и лечения пробелов. Лично я хотел бы использовать CPP задачу ( http://ant-contrib.sourceforge.net/cpptasks/index.html ) , чтобы сделать мою C компиляцию. Они не являются гибкими , как сделать , но они также гораздо менее сложны , и это будет означать , что вы не должны обременять свои разработчик с обучением макияжем.

Ответил 19/08/2008 в 00:19
источник пользователем

голоса
3

Как простой альтернатива JNI, попробуйте ЮНУ: https://jna.dev.java.net/ , может решить эти хлопоты для вас и быть проще (при условии , что он может сделать то , что вы хотите).

Ответил 18/08/2008 в 23:36
источник пользователем

голоса
1

Я бы пропустить JNI полностью, и использовать внешнюю программу, которая записывает уведомления о стандартном выводе. Java может затем просто читать из программы выходного потока и создавать то, что событие необходимо. JNI является слишком много работы, если все, что вы хотите, чтобы отправить простые уведомления.

Кроме того, в Linux вы можете просто «inotifywait» (с некоторыми подходящими параметрами, см «человек inotifywait»).

Ответил 17/09/2008 в 21:55
источник пользователем

голоса
1

Я работаю на что-то подобное сейчас. Имейте в виду, что использование глотнул из swig.org часто проще, так как он генерирует заглушек к родной библиотеки для вас.

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

Если вы супер знакомы с муравьем, и не хотят , чтобы изучить новую систему, то http://ant-contrib.sourceforge.net/cpptasks/index.html , также связан другой плакат, позволит вам построить C ++ в муравей.

Ответил 17/09/2008 в 05:50
источник пользователем

голоса
0

Можно также попробовать задачи Terp C ++ в Codemesh . Они не свободны , но они предлагают высокий уровень абстракции в сочетании с возможностью открыть / указать C ++ компилятора и возможность итерации по конфигурации архитектуры / компилятора / процессора более чем один компилятора для мультиплатформенной сборки.

Ответил 13/07/2009 в 19:40
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more