ПООП — разлика између измена
Пређи на навигацију
Пређи на претрагу
м (tocright) |
(dodato uputstvo oko projekta) |
||
Ред 17: | Ред 17: | ||
* [[ПООП/Јун_2021|Јун 2021]] | * [[ПООП/Јун_2021|Јун 2021]] | ||
== Прављење Native библиотеке за Java пројекат == | |||
* Скините жељени JDK, идеално JDK 1.8. | |||
* У Java пројекту, направите класу са ''native'' методом као на примеру klase ''MojaKlasa'' | |||
*: <syntaxhighlight lang="c" inline>public native int saberi(int a, int b);</syntaxhighlight> | |||
*Покрените ''CMD'' или ''Terminal'' и идите до жељеног директоријума са вашом java класом | |||
*Покрените следећу команду | |||
*: <syntaxhighlight lang="bash" inline>javac -h . MojaKlasa.java</syntaxhighlight> | |||
*Добијени ''.h'' фајл прекопирате у ваш C++ пројекат. | |||
*Прављење библиотеке: | |||
**Ако сте на Windows-u, потребно је направити ''DLL (Dynamic Link Library)'' и то можете помоћу ''Visual Studio'' | |||
**#Промените target platform на '''x64 Release''' | |||
**#Потребно је да у ''Project Properties'' изаберете ''Include Directories'' под менијем ''VC++ Directories'' и додати путању до ''Include'' фолдера у инсталираном JDK-u. Такође додати фолдер ''include/win32''. | |||
**#Остало је још да додамо путању до библиотеке, и у истом менију ''VC++ Directories'' на пољу ''Library Directories'' додати путању до ''Lib'' фолдера у инсталираном JDK-u. | |||
**Ако сте на Линуксу или MacOS-u потребно је само имати инсталиран JDK. | |||
*Ако сте успешно направили жељену билиотеку (DLL ili SO). Сада је можете додати у окружењу у коме радите. Потребно је додати фолдер где се библиотека налази у ''Project Path'' -> ''Native Libraries''. | |||
*На крају додајте у класу где је ''native методa'' статичко поље које ће учитати ту библиотеку (без екстензије) | |||
<syntaxhighlight lang="java"> | |||
public class MojaKlasa{ | |||
static { | |||
System.loadLibrary("MojaBiblioteka"); | |||
} | |||
public native int saberi(int a, int b); | |||
} | |||
</syntaxhighlight> | |||
== Начин оцењивања == | == Начин оцењивања == | ||
* Пројектни задатак из C++-a (35 поена) | * Пројектни задатак из C++-a (35 поена) |
Верзија на датум 26. јун 2021. у 09:21
Практикум из објектно оријентисаног програмирања (ПООП) је изборни предмет у четвртом семестру.
Странице
Корисне везе
Пројекат
Модификације пројекта тренутно сакупљене на викију:
Прављење Native библиотеке за Java пројекат
- Скините жељени JDK, идеално JDK 1.8.
- У Java пројекту, направите класу са native методом као на примеру klase MojaKlasa
public native int saberi(int a, int b);
- Покрените CMD или Terminal и идите до жељеног директоријума са вашом java класом
- Покрените следећу команду
javac -h . MojaKlasa.java
- Добијени .h фајл прекопирате у ваш C++ пројекат.
- Прављење библиотеке:
- Ако сте на Windows-u, потребно је направити DLL (Dynamic Link Library) и то можете помоћу Visual Studio
- Промените target platform на x64 Release
- Потребно је да у Project Properties изаберете Include Directories под менијем VC++ Directories и додати путању до Include фолдера у инсталираном JDK-u. Такође додати фолдер include/win32.
- Остало је још да додамо путању до библиотеке, и у истом менију VC++ Directories на пољу Library Directories додати путању до Lib фолдера у инсталираном JDK-u.
- Ако сте на Линуксу или MacOS-u потребно је само имати инсталиран JDK.
- Ако сте на Windows-u, потребно је направити DLL (Dynamic Link Library) и то можете помоћу Visual Studio
- Ако сте успешно направили жељену билиотеку (DLL ili SO). Сада је можете додати у окружењу у коме радите. Потребно је додати фолдер где се библиотека налази у Project Path -> Native Libraries.
- На крају додајте у класу где је native методa статичко поље које ће учитати ту библиотеку (без екстензије)
public class MojaKlasa{
static {
System.loadLibrary("MojaBiblioteka");
}
public native int saberi(int a, int b);
}
Начин оцењивања
- Пројектни задатак из C++-a (35 поена)
- Пројектни задатак из Jave (35 поена)
- Испит који се састоји из надоградње пројектног задатка из Jave (30 поена)