JAVA | C | Bytes |
---|---|---|
boolean | jboolean | 1 |
byte | jbyte | 1 |
char | jchar | 2 |
short | jshort | 2 |
int | jint | 4 |
long | long | 8 |
float | jfloat | 4 |
double | jdouble | 8 |
class Calculator { public static native int addition(int x,int y); static { System.loadLibrary("Calculator"); } }
javac HelloNative.java javah HelloNative
#include "Calculator.h" #include <stdio.h> JNIEXPORT jint JNICALL Java_Calculator_addition (JNIEnv *env, jclass cl, jint x, jint y) { return x+y; }
//on Cygwin programming environment in windows gcc -mno-cygwin -D __int64="long long" -I JAVA_HOME/include/ -I JAVA_HOME/include/win32 -shared -Wl,--add-stdcall-alias -o Calculator.dll Calculator.c // Gnu C compiler on Linux gcc -fPIC -I JAVA_HOME/include -I JAVA_HOME/include/linux -shared -o libCalculator.so Calculator.c //With tSun compiler under the Solaris Operating System cc -G -I JAVA_HOME/include -I JAVA_HOME/include/solaris -o libCalculator.so Calculator.c //in Microsoft C++ compiler on Windows cl -I JAVA_HOME\include -I JAVA_HOME\include\win32 -LD Calculator.c -FeCalculator.dll
class CalculatorTest { public static void main(String[] args) { int re=Calculator.addition(10,15); System.out.println("re: "+re); } }
javac CalculatorTest.java java CalculatorTest
Add Comment
Comments (0)