ПООП — разлика између измена
Пређи на навигацију
Пређи на претрагу
м (mala greskica) |
м (Ispravke) |
||
| Ред 17: | Ред 17: | ||
* [[ПООП/Јун_2021|Јун 2021]] | * [[ПООП/Јун_2021|Јун 2021]] | ||
== Прављење Native библиотеке за Java пројекат == | == Прављење ''Native'' библиотеке за Java пројекат == | ||
* Скините жељени JDK, идеално | * Скините жељени JDK, идеално JDK 1.8. | ||
* У Java пројекту, направите класу са ''native'' методом као на примеру klase | * У Java пројекту, направите класу са ''native'' методом као на примеру klase <code>MojaKlasa</code>: | ||
*: | *: <syntaxhighlight lang="c" inline>public native int saberi(int a, int b);</syntaxhighlight> | ||
*Покрените '' | * Покрените ''Command Prompt'' или ''Terminal'' и идите до жељеног директоријума са вашом Java класом. | ||
*Покрените следећу команду | * Покрените следећу команду | ||
*: | *: <syntaxhighlight lang="bash" inline>javac -h . MojaKlasa.java</syntaxhighlight> | ||
*Добијени ''.h'' фајл | * Добијени ''.h'' фајл прекопирајте у ваш C++ пројекат. | ||
*Прављење библиотеке: | * Прављење библиотеке: | ||
**Ако сте на Windows- | ** Ако сте на ''Windows''-у, потребно је направити ''DLL (Dynamic Link Library)'' и то можете урадити помоћу ''Visual Studio'' | ||
**#Промените target platform на '''x64 Release''' | **# Промените ''target platform'' на '''x64 Release''' | ||
**#Потребно је да у ''Project Properties'' изаберете ''Include Directories'' под менијем ''VC++ Directories'' и | **# Потребно је да у ''Project Properties'' изаберете ''Include Directories'' под менијем ''VC++ Directories'' и додате путању до ''Include'' фолдера у инсталираном JDK-у. Такође додати фолдер ''include/win32''. | ||
**#Остало је још да | **# Остало је још да додате путању до библиотеке, и у истом менију ''VC++ Directories'' на пољу ''Library Directories'' додајте путању до ''Lib'' фолдера у инсталираном JDK-у. | ||
**Ако сте на | ** Ако сте на ''Linux'' или ''macOS'' потребно је само имати инсталиран JDK. | ||
* Ако сте успешно направили жељену билиотеку (DLL или SO), сада је можете додати у окружење у коме радите. Потребно је додати фолдер где се библиотека налази у ''Project Path'' → ''Native Libraries''. | |||
*Ако сте успешно направили жељену билиотеку (DLL | * На крају додајте у класу где је ''native'' методa статичко поље које ће учитати ту библиотеку (без екстензије). | ||
*На крају додајте у класу где је ''native'' методa статичко поље које ће учитати ту библиотеку (без екстензије) | |||
<syntaxhighlight lang="java"> | <syntaxhighlight lang="java"> | ||
public class MojaKlasa{ | public class MojaKlasa{ | ||
Верзија на датум 26. јун 2021. у 17:57
Практикум из објектно оријентисаног програмирања (ПООП) је изборни предмет у четвртом семестру.
Странице
Корисне везе
Пројекат
Модификације пројекта тренутно сакупљене на викију:
Прављење Native библиотеке за Java пројекат
- Скините жељени JDK, идеално JDK 1.8.
- У Java пројекту, направите класу са native методом као на примеру klase
MojaKlasa:public native int saberi(int a, int b);
- Покрените Command Prompt или Terminal и идите до жељеног директоријума са вашом Java класом.
- Покрените следећу команду
javac -h . MojaKlasa.java
- Добијени .h фајл прекопирајте у ваш C++ пројекат.
- Прављење библиотеке:
- Ако сте на Windows-у, потребно је направити DLL (Dynamic Link Library) и то можете урадити помоћу Visual Studio
- Промените target platform на x64 Release
- Потребно је да у Project Properties изаберете Include Directories под менијем VC++ Directories и додате путању до Include фолдера у инсталираном JDK-у. Такође додати фолдер include/win32.
- Остало је још да додате путању до библиотеке, и у истом менију VC++ Directories на пољу Library Directories додајте путању до Lib фолдера у инсталираном JDK-у.
- Ако сте на Linux или macOS потребно је само имати инсталиран JDK.
- Ако сте на Windows-у, потребно је направити DLL (Dynamic Link Library) и то можете урадити помоћу Visual Studio
- Ако сте успешно направили жељену билиотеку (DLL или 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 поена)