README.md 1.48 KB
Newer Older
Martin Deinhofer's avatar
Martin Deinhofer committed
1
2
# Exercise repository for Java Native Interface (JNI)

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
At times, it is necessary to use native codes (C/C++) to overcome the memory management and performance constraints in Java. Java supports native codes via the Java Native Interface (JNI). This repository contains a "Hello World" example for using the JNI.

# Prerequisites
1. **Java Development Kit 8**
2. **C/C++ Compiler**
    * GCC compiler and Makefile ([Read "GCC and Make"](https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html)) **or**
    * Cygwin or MinGW on Windows ([Read "How to Setup Cygwin and MinGW](https://www3.ntu.edu.sg/home/ehchua/programming/howto/Cygwin_HowTo.html)
3. **Eclipse for Java Developers** with **C/C++ Development Tool (CDT) extension** installed ([Read "Eclipse CDT"](https://www3.ntu.edu.sg/home/ehchua/programming/howto/EclipseCpp_HowTo.html)).

# Clone project
```git clone https://es.technikum-wien.at/deinhofe/HelloJNI.git```

# Create Eclipse project

1. *File/New/Project*
2. Select *General/Project* and click *Next*
3. Unselect *Use default location* and browse to cloned diretory, click *OK*
4. Enter *Project name* and click *Finish*

# Build project

Building the project involves two steps

1. Building Java code
    * Click on *Project/Build All*. This is not necessary if *Build Automatically* is selected.
2. Building native code either on command line or using the configured Eclipse build targets
    * Command line:```cd jni && make``` or
    * Double click on *jni/Build Targets/all*



Martin Deinhofer's avatar
Martin Deinhofer committed
34