ПООП

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Практикум из објектно оријентисаног програмирања је изборни предмет у четвртом семестру.

Корисне везе

Настава

Овом одељку фале информације. Помозите SI Wiki тако што ћете додати потребне информације.

Пројекат

Овом одељку фале информације. Помозите SI Wiki тако што ћете додати потребне информације.

Модификације пројекта тренутно сакупљене на викију:

Пројектни задаци из претходних година се могу наћи на страници предмета, док се неки реализовани пројекти од претходних година могу наћи у одељку за корисне везе.

Прављење 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 поена)