POOP

Izvor: SI Wiki
Pređi na navigaciju Pređi na pretragu

Praktikum iz objektno orijentisanog programiranja je izborni predmet u četvrtom semestru.

Korisne veze

Nastava

Ovom odeljku fale informacije. Pomozite SI Wiki tako što ćete dodati potrebne informacije.

Projekat

Ovom odeljku fale informacije. Pomozite SI Wiki tako što ćete dodati potrebne informacije.

Modifikacije projekta trenutno sakupljene na vikiju:

Projektni zadaci iz prethodnih godina se mogu naći na stranici predmeta, dok se neki realizovani projekti od prethodnih godina mogu naći u odeljku za korisne veze.

Pravljenje Native biblioteke za Java projekat

  • Skinite željeni JDK, idealno JDK 1.8.
  • U Java projektu, napravite klasu sa native metodom kao na primeru klase MojaKlasa:
    public native int saberi(int a, int b);
  • Pokrenite Command Prompt ili Terminal i idite do željenog direktorijuma sa vašom Java klasom.
  • Pokrenite sledeću komandu
    javac -h . MojaKlasa.java
  • Dobijeni .h fajl prekopirajte u vaš C++ projekat.
  • Pravljenje biblioteke:
    • Ako ste na Windows-u, potrebno je napraviti DLL (Dynamic Link Library) i to možete uraditi pomoću Visual Studio
      1. Promenite target platform na x64 Release
      2. Potrebno je da u Project Properties izaberete Include Directories pod menijem VC++ Directories i dodate putanju do Include foldera u instaliranom JDK-u. Takođe dodati folder include/win32.
      3. Ostalo je još da dodate putanju do biblioteke, i u istom meniju VC++ Directories na polju Library Directories dodajte putanju do Lib foldera u instaliranom JDK-u.
    • Ako ste na Linux ili macOS potrebno je samo imati instaliran JDK.
  • Ako ste uspešno napravili željenu bilioteku (DLL ili SO), sada je možete dodati u okruženje u kome radite. Potrebno je dodati folder gde se biblioteka nalazi u Project PathNative Libraries.
  • Na kraju dodajte u klasu gde je native metoda statičko polje koje će učitati tu biblioteku (bez ekstenzije).
public class MojaKlasa{
	static {
		System.loadLibrary("MojaBiblioteka");
	}
	public native int saberi(int a, int b);
}

Način ocenjivanja

  • Projektni zadatak iz C++-a (35 poena)
  • Projektni zadatak iz Jave (35 poena)
  • Ispit koji se sastoji iz nadogradnje projektnog zadatka iz Jave (30 poena)