Blogger Widgets ~~~MyMiniProWorld~~~: Java Native Interface-JNI Helloworld

-----ශ්‍රී ලංකාවේ අසිරිය------

Java Native Interface-JNI Helloworld






මන් කියලා දෙන්න යන්නේ කොහොමද ජාවා ,සී ප්ලස්‌ භාෂා වලින් Application එකක් හදාගන්නේ කොහොමද කියලා ...


මේක කරන්න අවශ්‍ය වෙන්නේ මෙන්න මේවා ටික විතරයි .


java and c/c++ Application සම්බන්දව මුලික දැනුමක්..
JDK 7 , නැති කට්ටිය මෙතනින් ගන්න .
Dev-Cpp නැති කට්ටිය මෙතනින් ගන්න .
Netbeans IDE ,නැති කට්ටිය මෙතන්න ගිහින් ඩවුන්ලෝඩ් කරගන්න .


දැන් අපි JNI (java native interface) සම්බන්දව කතා කරමු.ඔබ ජාවා පිළිබද උනන්දුවක් දක්වන්නේ නම් ,ජාවා භාෂාව භාවිතා කර නිර්මාණ කරන්නේ නම් ඔබට එහි භාවිතයන් ප්‍රමාණවත් මදි බව ඔබට වැටහෙන බව ඔබ දන්නා කරුණකි.උදාහරණයක් වශයෙන් පරිගණකයේ තොටුපල (Ports ) භාවිතා කර වාහනයක් පාලනය කිරීම.මෙවන් අවසථා සදහා ඔබට වෙනත් භාෂාවක් සමග කටයුතු කරන්නට ඔබට සිදු වේ.(මිට හේතුව වන්නේ මා සිතනා ආකාරයට එහි පවතින cross platform capability එක පවත්වා ගෙන යාම සදහායි.).කෙසේ වෙතත් මෙවන් කටයතු සදහා JNI හදුන්වා දී තිබෙනවා.

ක්‍රමලේකන කිරීම ආරම්භ කිරීමට ප්‍රථම ඉහතින් අප බා ගත් JDK හා Dev-cpp දෙක install කල යුතු වෙනවා.මේ සදහා බා ගත කල ස්ථානයේ එම නමින් පවතින .exe ගොනු මත දෙවරක් එබීමෙන් එය පරිගණකයට ඇතුලත් කල හැක.අනතුරුව පහත සදහන් ආකාරයේ ස්ථානයන් දෙක පරිගණකයේ Path විචල්‍යයට ඇතුලත් කල යුතු වනවා.


C:\Program Files\Java\jdk1.6.0_16\bin;
C\Dev-Cpp\bin;
දැන් පහත වැඩසටහන දෙස බලන්න.එය ටයිප් කරගන්න.අනතුරුව එය Compile කර ගන්න.

public class HelloWorld {
public native void Hello();
static {
System.load("C:/jana/HelloWorld.dll");
System.out.println("Loaded");
}
public static void main(String[] args) {
new HelloWorld().Hello();
}
}





Dos භාවිතා කරන්නේ නම්  javac Helloworld.java මගින් එය සිදු කර ගත.Compile කර ගත් පසු ඔබට HelloWorld.class file එකක් දැක ගත හැක.අනතුරුව පහත සදහන් විදානය ලබා දෙන්න.









එවිට ඔබට මෙය  HelloWorld.h file එක ලැබේ.
.





දැන් අලුත් C++ වැඩසටහන පහත ආකාරයට සකස් කරගන්න

HelloWorld.c
#include
#include
#include "HelloWorld.h"

JNIEXPORT void JNICALL
Java_HelloWorld_print(JNIEnv *env, jobject obj)
{
printf("HelloWorld...!\n");
return 0;
}

 .o file එකක් සදා ඇනීමට පහත විදානය දෙන්න.


gcc -c -I"include" -I"\include\win32" -o HelloWorld.o HelloWorld.c


ex:- gcc -c -I"C:\Program Files\Java\jdk1.6.0_16\include" -I"C:\Program Files\Java\jdk1.6.0_16\include\win32" -o HelloWorld.o HelloWorld.c


.o file එක සාදා ගත් පසු අපට def file අවශ්‍ය වේ.එය පහත පරිදි සකස් කර ගන්න.
(rename its extention to .def)


EXPORTS
Java_HelloWorld_Hello


දැන් අවශ්‍ය කරන සියල්ල සදා ගෙන අවසානය .දන ඔබට .dll file එක සදා ගැනීමට හැකි වේ.ඒ සදහා පහත විදානය භාවුතා කරන්න.


gcc -shared -o HelloWorld.dll HelloWorld.o HelloWorld.def

java HelloWorld විදානය භාවිතා කිරීමෙන් ඔබ දැන් සාදා ගත් පරිගණක වැඩටහන ධාවනය කර ගත හැකි වනු ඇත.එවිට ඔබට පහත දැක්වෙන පරිදි Window එකක් ලැබෙනු ඇත.

















END.
 
Copyright © ~~~MyMiniProWorld~~~ මුදිත ධර්මසේන