POOP
Pređi na navigaciju
Pređi na pretragu
Praktikum iz objektno orijentisanog programiranja je izborni predmet u četvrtom semestru.
Korisne veze
- ETF SI
- Primer C++ projekta iz 2021. godine sa GUI-jem
- Primer Java projekta iz 2021. godine sa GUI-jem
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
- Promenite target platform na x64 Release
- 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.
- 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 na Windows-u, potrebno je napraviti DLL (Dynamic Link Library) i to možete uraditi pomoću Visual Studio
- 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 Path → Native 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)