2. díl - JNI - MinGW a Eclipse - CDT příklady

Java Pro pokročilé JNI JNI - MinGW a Eclipse - CDT příklady

V minulém tutoriálu o JNI jsme si vysvětlili co že to JNI vlastně je a také si připravili prostředí. Dnes budeme programovat nativní programy v Eclipse i bez něj. Pokud to již ovládáte, můžete danou kapitolu přeskočit. Bude to ale poměrně jednoduché, takže byste se neměli nijak zásadně trápit.

Hello world

Jako první si vytvoříme projekt v C-čku, známý Hello World program. Spustíme si Eclipse a přepneme do C/C++ perspektivy. V menu zvolíme File -> New -> C Project.

Vytvoření projektu

Objeví se dialogové okno, kde zadáme Project Name. Jedná se o jméno projektu, pod kterým najdeme program ve workspace (pracovním prostoru). Dále nastavíme variantu executable (spustitelný projekt), vybereme Empty Project a nastavíme typ kompilátoru. V našem případě MinGW GCC a zvolíme FINISH. Pokud má někdo naistalované Visual Studio, může zkusit provést daný "build" jeho kompilátorem.

Vytvoření C projektu

V project exploreru nám vznikne daný projekt. Samozřejmě je nutno dodat zdrojový soubor do kterého umístíně zdrojový kód našeho vzorového příkladu. V project exploreru klikneme pravým tlačítkem a vybereme vytvoření zdrojového souboru: New -> Source File.

Vytvoření zdrojového souboru C

Dále vytvoříme zdrojový soubor. Nutné je soubor pojmenovat "ProgramC.c" a hlavně nezapomenout příponu. Zvolíme FINISH.

Vytvoření zdrojového kódu C

Do zdrojového souboru vložíme tento známý zdrojový kód.

int main()
{
    printf("Ahoj svete");
    return 0;
}

Ikona kladívka provádí "build" projektu a ten bílý trojúhelníček v zeleném kolečku provádí spuštění programu. Zdrojový kód za pomocí CTRL+S samozřejmě uložíme a poté projekt zbuildujeme. Dole se nachází záložka konzole, kde uvidíme výpis buildu.

Vytvoření C programu

V navigátoru si všimneme vzniku adresáře Debug, ve kterém uvidíme náš zbuildovaný program.

Build C Programu

Poté program spustíme. Dole v konzoli uvidíme výstup. Zde je i test pro spuštění přes příkazový řádek. Program je tedy plně funkční.

Test v příkazovém řádku

Identický program v C++

Jako další si vyrobíme identický program přes C++. Perspektiva zůstává stejná. V menu vybereme File -> New -> C++ Project. Zbytek nastavíme stejně jako předtím. Je to téměř identické jako při tvorbě C programu. Objeví se dialogové okno a opětovně zvolíme Project Name. Dále nastavíme variantu executable, zvolíme Empty Project a nastavíme typ kompilátoru. Zvolíme FINISH.

Název C++ projektu

V project exploreru nám vznikne daný projekt. V projekt exploreru vyvolám klikem pravého tlačítka PopupMenu a vybereme si vytvoření zdrojového souboru : New -> Source File. Dále pak vytvoříme zdrojový soubor. Nutné je soubor pojmenovat "Program.cpp" a hlavně nezapomět koncovku. Zvolíme FINISH.

Vytvoření zdrojového souboru

Do zdrojového souboru vložíme opět tento známý zdrojový kód.

#include <iostream>
using namespace std;
int main() {
    cout << "Ahoj Svete Program C++ " << "\n";
    return 0;
}

Opětovně za pomoci kladívka provedeme "build" projektu a program spustíme. Přes příkazový řádek otestujeme funkčnost programu.

Testování C++ Projektu

Build bez IDE

Nyní si provedeme "build" bez IDE přímo přes příkazový řádek. Určitě se ptáte "proč"? Proč řešit nějaký zastaralý command prompt? Důvodů je celá řada, hlavně se s ním pracuje neskutečně jednoduše, je velmi efektivní, když s ním umíte pracovat. Ve Windows 10 jej navíc zlepšili.

Spustíme příkazový řádek v jakékoliv adresáři. Za pomocí příkazu

md ProgramCMD

vytvoříme adresář ProgramCMD. Po provedení se do něj přesuneme přes příkaz

cd ProgramCMD

V adresáři vytvoříme zdrojový soubor přes příkaz

fsutil file createnew program.c 0

Dále provedeme úpravu zdrojového souboru přes příkaz

notepad program.c

Do zdrojového souboru v Notepadu napíšeme opět zdrojový kód :

int main()
{
    printf("Ahoj svete");
    return 0;
}
Tvorba zdrojového souboru v Notepadu

Soubor uložíme a Notepad ukončíme. Pro otestování uložení lze provést příkaz

more program.c

Nyní nás čeká kompilace programu a poté linkování, což je prakticky "build" programu. Protože jsme v minule provedli nastavení systémové proměnné PATH pro kompilátor na C:\MinGW64\mingw64\bin, je nám umožněno volat z příkazového řádku příkazy umístěné v daném adresáři.

Kompilaci provedeme příkazem

gcc -c program.c"

Vznikne program.o.

Linkovaní provedeme příkazem

gcc -o programX program.o

Vznikne programX.exe.

Poté program spustíme zavoláním

programX

Pro kompilaci lze využít místo příkazu "gcc" také příkaz "x86_64-w64-mingw32-gcc".

KompilaceGCC 64bit

Hello world pro Javu

Nyní si provedeme Hello World pro Javu. Nejprve je nutné změnit perspektivu.To uděláme kliknutím na Java v pravém horním rohu. Pokud kliknete na C/C++, opět se vrátíte do C/C++ perspektivy. V menu zvolíme File -> New -> Java Project. Je to velmi podobné tvorbě C nebo C++ projektu.

Vytvoření projektu v Javě

Zvolíme Project Name a zkontrolujeme typ JRE pro verzi Java 8. Zvolíme FINISH.

Nastavení Java projektu v Eclipse

Nyní vyrobíme spouštěcí třídu. V menu zvolíme File -> New -> Class. Doplníme vlastnosti třídy a vybereme Finish.

  • Package: balicek
  • Name: ProgramHello

A potvrdíme tvorbu spouštěcí metody "public static void main(String [] args)".

Vytvoření Třídy

Do spouštěcí třídy vložíme metodu výpisu, takže třída bude vypadat nějak takto

package balicek;
public class ProgramHello {
        public static void main (String [] args) {
                System.out.println("Ahoj program z Javy ");

        }
}

Poté opětovně klikneme na spuštění programu. Dole v konzoli uvidíme výstup spuštěného programu. Pro otestovaní jej spustíme i z příkazového řádku. Protože používáme balíček, je nutné volat třídu s balíčkem a spouštět jej v úrovni \bin\ v projektu.

Spuštění Programu

Příště si konečně vytvoříme první JNI aplikaci v Javě, kdy *.dll vytvoříme v C-čku bez IDE.


 

Stáhnout

Staženo 2x (123.98 kB)
Aplikace je včetně zdrojových kódů v jazyce Java

 

  Aktivity (5)

Článek pro vás napsal Robert Michalovič
Avatar
viz. linkedin

Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!


 



 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!