2. diel - JNI - MinGW a Eclipse - CDT príklady
V minulom tutoriále o JNI sme si vysvetlili čo že to JNI vlastne je a tiež si pripravili prostredie. Dnes budeme programovať natívny programy v Eclipse aj bez neho. Ak to už ovládate, môžete danú kapitolu preskočiť. Bude to ale pomerne jednoduché, takže by ste sa nemali nijako zásadne trápiť.
Hello world
Ako prvý si vytvoríme projekt v C-čku, známy Hello World program. Spustíme si Eclipse a prepneme do C / C ++ perspektívy. V menu zvolíme File -> New -> C Project.
Objaví sa dialógové okno, kde zadáme Project Name. Jedná sa o meno projektu, pod ktorým nájdeme program vo workspace (pracovnom priestore). Ďalej nastavíme variantu executable (spustiteľný projekt), vyberieme Empty Project a nastavíme typ kompilátora. V našom prípade MinGW GCC a zvolíme FINISH. Ak má niekto nainštalovaný Visual Studio, môže skúsiť vykonať daný "build" jeho kompilátorom.
V project exploreru nám vznikne daný projekt. Samozrejme je nutné dodať zdrojový súbor do ktorého umiestnenom zdrojový kód nášho vzorového príkladu. V project exploreru klikneme pravým tlačidlom a vyberieme vytvorenie zdrojového súboru: New -> Source File.
Ďalej vytvoríme zdrojový súbor. Nutné je súbor pomenovať "ProgramC.c" a hlavne nezabudnúť príponu. Zvolíme FINISH.
Do zdrojového súboru vložíme tento známy zdrojový kód.
int main() { printf("Ahoj svete"); return 0; }
Ikona kladivka vykonáva "build" projektu a ten biely trojuholníček v zelenom koliesku vykonáva spustenie programu. Zdrojový kód za pomocou CTRL + S samozrejme uložíme a potom projekt zbuildujeme. Dole sa nachádza záložka konzola, kde uvidíme výpis buildu.
V navigátora si všimneme vzniku adresára Debug, v ktorom uvidíme náš zbuildovaný program.
Potom program spustíme. Dole v konzole uvidíme výstup. Tu je aj test pre spustenie cez príkazový riadok. Program je teda plne funkčný.
Identický program v C ++
Ako ďalšie si vyrobíme identický program cez C ++. Perspektíva zostáva rovnaká. V menu vyberieme File -> New -> C ++ Project. Zvyšok nastavíme rovnako ako predtým. Je to takmer identické ako pri tvorbe C programu. Objaví sa dialógové okno a opätovne zvolíme Project Name. Ďalej nastavíme variantu executable, zvolíme Empty Project a nastavíme typ kompilátora. Zvolíme FINISH.
V project exploreru nám vznikne daný projekt. V projekt exploreru vyvolám klikom pravého tlačidla PopupMenu a vyberieme si vytvorenie zdrojového súboru: New -> Source File. Ďalej potom vytvoríme zdrojový súbor. Nutné je súbor pomenovať "Program.cpp" a hlavne nezapomět koncovku. Zvolíme FINISH.
Do zdrojového súboru vložíme opäť tento známy zdrojový kód.
#include <iostream> using namespace std; int main() { cout << "Ahoj Svete Program C++ " << "\n"; return 0; }
Opätovne za pomoci kladivka vykonáme "build" projektu a program spustíme. Cez príkazový riadok otestujeme funkčnosť programu.
Build bez IDE
Teraz si vykonáme "build" bez IDE priamo cez príkazový riadok. Určite sa pýtate "prečo"? Prečo riešiť nejaký zastaralý command prompt? Dôvodov je celá rada, hlavne sa s ním pracuje neskutočne jednoducho, je veľmi efektívne, keď s ním viete pracovať. Vo Windows 10 ho navyše zlepšili.
Spustíme príkazový riadok v akejkoľvek adresári. Za pomocou príkazu
md ProgramCMD
vytvoríme adresár ProgramCMD. Po vykonaní sa doň presunieme cez príkaz
cd ProgramCMD
V adresári vytvoríme zdrojový súbor cez príkaz
fsutil file createnew program.c 0
Ďalej vykonáme úpravu zdrojového súboru cez príkaz
notepad program.c
Do zdrojového súboru v Notepade napíšeme opäť zdrojový kód:
int main() { printf("Ahoj svete"); return 0; }
Súbor uložíme a Notepad ukončíme. Pre otestovanie uloženie možno vykonať príkaz
more program.c
Teraz nás čaká kompilácie programu a potom linkovanie, čo je prakticky
"build" programu. Pretože sme v minule
urobili nastavenie systémovej premennej PATH pre kompilátor na
C:\MinGW64\mingw64\bin
, je nám umožnené volať z príkazového
riadka príkazy umiestnené v danom adresári.
Kompiláciu prevedieme príkazom
gcc -c program.c
Vznikne program.o.
Linkovanie prevedieme príkazom
gcc -o programX program.o
Vznikne programX.exe.
Potom program spustíme zavolaním
programX
Pre kompiláciu možno využiť namiesto príkazu "gcc" tiež príkaz "x86_64-w64-mingw32-gcc".
Hello world pre Javu
Teraz si vykonáme Hello World pre Javu. Najprv je nutné zmeniť perspektivu.To urobíme kliknutím na Java v pravom hornom rohu. Ak kliknete na C / C ++, opäť sa vrátite do C / C ++ perspektívy. V menu zvolíme File -> New -> Java Project. Je to veľmi podobné tvorbe C alebo C ++ projektu.
Zvolíme Project Name a skontrolujeme typ JRE pre verziu Java 8. zvolíme FINISH.
Teraz vyrobíme spúšťací triedu. V menu zvolíme File -> New -> Class. Doplníme vlastnosti triedy a vyberieme Finish.
- Package: balicek
- Name: ProgramHello
A potvrdíme tvorbu spúšťací metódy "public static void main (String [] args)".
Do spúšťacie triedy vložíme metódu výpisu, takže trieda bude vyzerať nejako takto
package balicek; public class ProgramHello { public static void main (String [] args) { System.out.println("Ahoj program z Javy "); } }
Potom opätovne klikneme na spustenie programu. Dole v konzole uvidíme výstup spusteného programu. Pre otestovanie ho spustíme aj z príkazového riadku. Pretože používame balíček, je nutné volať triedu s balíčkom a spúšťať ho v úrovni \ bin \ v projekte.
Nabudúce si konečne vytvoríme prvú JNI aplikáciu v Jave, kedy * .dll vytvoríme v C-čku bez IDE.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 10x (123.98 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java