ПООП — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (mala greskica)
м (Ispravke)
Ред 17: Ред 17:
* [[ПООП/Јун_2021|Јун 2021]]
* [[ПООП/Јун_2021|Јун 2021]]


== Прављење Native библиотеке за Java пројекат ==
== Прављење ''Native'' библиотеке за Java пројекат ==
* Скините жељени JDK, идеално JDK 1.8.
* Скините жељени JDK, идеално JDK 1.8.
* У Java пројекту, направите класу са ''native'' методом као на примеру klase ''MojaKlasa''
* У Java пројекту, направите класу са ''native'' методом као на примеру klase <code>MojaKlasa</code>:
*:   <syntaxhighlight lang="c" inline>public native int saberi(int a, int b);</syntaxhighlight>
*: <syntaxhighlight lang="c" inline>public native int saberi(int a, int b);</syntaxhighlight>
*Покрените ''CMD'' или ''Terminal'' и идите до жељеног директоријума са вашом java класом
* Покрените ''Command Prompt'' или ''Terminal'' и идите до жељеног директоријума са вашом Java класом.
*Покрените следећу команду
* Покрените следећу команду
*:   <syntaxhighlight lang="bash" inline>javac -h . MojaKlasa.java</syntaxhighlight>
*: <syntaxhighlight lang="bash" inline>javac -h . MojaKlasa.java</syntaxhighlight>
*Добијени ''.h'' фајл прекопирате у ваш C++ пројекат.
* Добијени ''.h'' фајл прекопирајте у ваш C++ пројекат.
*Прављење библиотеке:
* Прављење библиотеке:
**Ако сте на Windows-u, потребно је направити ''DLL (Dynamic Link Library)'' и то можете помоћу ''Visual Studio''
** Ако сте на ''Windows''-у, потребно је направити ''DLL (Dynamic Link Library)'' и то можете урадити помоћу ''Visual Studio''
**#Промените target platform на '''x64 Release'''
**# Промените ''target platform'' на '''x64 Release'''
**#Потребно је да у ''Project Properties'' изаберете ''Include Directories'' под менијем ''VC++ Directories'' и додати путању до ''Include'' фолдера у инсталираном JDK-u. Такође додати фолдер ''include/win32''.
**# Потребно је да у ''Project Properties'' изаберете ''Include Directories'' под менијем ''VC++ Directories'' и додате путању до ''Include'' фолдера у инсталираном JDK-у. Такође додати фолдер ''include/win32''.
**#Остало је још да додамо путању до библиотеке, и у истом менију ''VC++ Directories'' на пољу ''Library Directories'' додати путању до ''Lib'' фолдера у инсталираном JDK-u.
**# Остало је још да додате путању до библиотеке, и у истом менију ''VC++ Directories'' на пољу ''Library Directories'' додајте путању до ''Lib'' фолдера у инсталираном JDK-у.
**Ако сте на Линуксу или MacOS-u потребно је само имати инсталиран JDK.
** Ако сте на ''Linux'' или ''macOS'' потребно је само имати инсталиран JDK.
 
* Ако сте успешно направили жељену билиотеку (DLL или SO), сада је можете додати у окружење у коме радите. Потребно је додати фолдер где се библиотека налази у ''Project Path'' ''Native Libraries''.
*Ако сте успешно направили жељену билиотеку (DLL ili SO). Сада је можете додати у окружењу у коме радите. Потребно је додати фолдер где се библиотека налази у ''Project Path'' -> ''Native Libraries''.
* На крају додајте у класу где је ''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
      1. Промените target platform на x64 Release
      2. Потребно је да у Project Properties изаберете Include Directories под менијем VC++ Directories и додате путању до Include фолдера у инсталираном JDK-у. Такође додати фолдер include/win32.
      3. Остало је још да додате путању до библиотеке, и у истом менију VC++ Directories на пољу Library Directories додајте путању до Lib фолдера у инсталираном JDK-у.
    • Ако сте на Linux или macOS потребно је само имати инсталиран JDK.
  • Ако сте успешно направили жељену билиотеку (DLL или SO), сада је можете додати у окружење у коме радите. Потребно је додати фолдер где се библиотека налази у Project PathNative 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 поена)