ПредишенСледващото

Java роден интерфейс

Хабре е такива статии, но за Windows, а "не разбирам" за начинаещи като мен. По принцип няма нищо сложно, но там е мястото, където пътуването и за дълго време, за да отидат в търсачките, тъй като тя е с мен.

Защо и как да използвате C / C ++ за Java приложение за всеки излезе с техните собствени, спрете тук не ще, освен да кажа, че когато се работи с всяко оборудване, като сноп може да бъде наистина полезно.

Просто аз няма да навлизам в нюансите на типове данни, освен да кажа, че примитивните типове (като jint или jdouble) се различават от родния C ++ за точно нищо.

И така. Да започнем с няколко думи за това как работи. Пишем в C ++ код, например, определен за обработка на изображения и ни връща към броя на котета. Тогава ние компилира динамична връзка библиотека и да го качите на нашата молба в Java, при което се изтегля снимката от нас VK. Не е трудно.

За да се обадите на функциите в свързаното библиотеката, трябва да декларират подходящи методи във всеки клас, както и да ги маркирате като роден. По-нататък той ще генерира заглавния файл, съдържащ функционални прототипи със съответните подписи.

Header javah получите полезност от компилиран клас-файла.

Получената заглавния файл, той е по-добре да не го докосне, защото това може да се промени при изграждане на проекта. Просто го inkluda в CPP файл и да описва функцията там, най-важното е да не се отнасям с имената на функции и параметри, по-добре е да копирате или да го възложи на IDE.

Поставянето на динамична библиотека.

Знамена -fpic -C -shared са необходими за правилното компилация.

Остава да се напише клас в основния метод Java, да го компилирате и стартирате приложението.

При стартиране на виртуалната машина да посочи пътя на директория на динамичната библиотека като по подразбиране за пътеките, записани в околната среда променливи ще изглежда само.

С цел да се ръчно съставяне на всеки от тях поотделно, можете да напишете проста Makefile, която по-късно може да се използва с Eclipse

Свързани статии

Подкрепете проекта - споделете линка, благодаря!