جاوا مقامی انٹرفیس (جے این آئی) کے ساتھ شروع کرنا

Getting Started With Java Native Interface



جاوا مقامی انٹرفیس ، مختصرا JNI ، ایک پروگرامنگ انٹرفیس ہے جو جاوا ڈویلپرز کو جاوا میں دیگر پروگرامنگ زبانوں سے کوڈ اور ٹکڑوں کو چلانے دیتا ہے۔ یہ ضروری جاوا سافٹ ویئر ڈویلپمنٹ کٹ ، یا SDK کے ساتھ مل کر آتا ہے (ہم اسے ایک مختلف سبق میں شامل کریں گے)۔

جے این آئی جاوا ایپلی کیشنز میں جاوا ورچوئل مشین میں چپکے سے API کو کال کرنے کی اپنی خصوصیت کے لیے بھی قابل احترام ہے۔ یہ devs کو مقامی ایپلی کیشن کے کوڈ کے اندر جاوا کوڈ کی درخواست کرنے کے قابل بناتا ہے۔







اگر آپ نے جاوا کے ساتھ کام کرنے میں کچھ وقت گزارا ہے تو ، آپ کو پہلے ہی کارکردگی کے بہت سے مسائل کا سامنا کرنا پڑا ہے جو لامحالہ آپ کے راستے میں آتے ہیں۔ جب آپ مادری زبان میں ایک ہی کوڈ چلاتے ہیں تو یہ کوئی مسئلہ نہیں ہے ، جو مرتب کردہ ماڈل میں پڑھے جانے پر اٹھارہ گنا زیادہ تیزی سے انجام دے سکتا ہے۔ اس کے علاوہ ، آپ دیگر زبانوں میں مقامی کوڈز کے ساتھ فرسودہ/غیر مطابقت پذیر ہارڈ ویئر کے معمولات بھی استعمال کرسکتے ہیں۔



یہ ٹیوٹوریل ظاہر کرے گا کہ جاوا ایپلی کیشن کے اندر سے مشین C/C ++ کوڈ کو کس طرح طلب کیا جا سکتا ہے۔



ضروریات۔

آپ کو اس گائیڈ کے ساتھ صحیح طریقے سے عمل کرنے کے لیے چند چیزوں کی ضرورت ہوگی۔ ان میں جاوا کمپائلر ، یا Javac.exe ، JVM کے ساتھ ساتھ مقامی طریقہ C جنریٹر (javah.exe) شامل ہیں۔ یہ تینوں سافٹ ویئر ڈویلپمنٹ کٹ میں شامل ہیں ، لہذا اگر آپ کے پاس ہے تو آپ سب اچھے ہیں۔ ان تینوں کے علاوہ ، آپ کو JNI کی وضاحت کرنے والی فائلوں کی بھی ضرورت ہوگی ، بشمول مقامی ہیڈر فائلیں اور مکمل لائبریری فائلیں۔





اور ظاہر ہے ، C اور C ++ کوڈز چلانے کے بارے میں ایک سبق میں ، ہم مشترکہ لائبریری بنانے کے لیے C کمپائلر بھی استعمال کریں گے۔

جے این آئی اجزاء

جے این آئی بنیادی طور پر دو اجزاء ، یعنی ایچ اور جاوا سے چلتا ہے۔ H ہیڈر فائل کا جزو ہے جو مقامی کوڈز کو جاوا کوڈ سے تبدیل کرتا ہے ، جبکہ جاوا اسے بناتا ہے تاکہ یہ فائل خود ہی ایپ ہیڈر فائلوں میں لوڈ ہو سکے۔



جاوا کوڈ سے C/C ++ طلب کرنا۔

مرحلہ 1: جاوا میں کوڈ لکھنا۔

کوڈ سب سے پہلے جاوا میں لکھا گیا ہے اور تین شرائط کے مطابق ہے۔ پہلے ، یہ دیسی طریقہ کے ساتھ لکھا گیا ہے کہ بعد میں درخواست کی جائے۔ دوم ، اسے مشترکہ لائبریری کو لوڈ کرنا ہوگا جس کا مقامی کوڈ حصہ ہے ، اور آخر میں ، اسے مقامی طریقوں کو اپنانا ہوگا۔

آئیے اس کوڈ کو مزید واضح کرنے کے لیے استعمال کریں:

نوٹس لائن 3 اور 6 یہ وہ لائنیں ہیں جہاں دیسی طریقے شامل ہیں۔ مشترکہ لائبریریوں کو لوڈ کرنے والا کوڈ لائن 10 پر واقع ہے ، جس کی وجہ سے 12 سے 15 لائنوں کے درمیان طریقہ استعمال کیا جاتا ہے۔

مرحلہ 2: جاوا کوڈ کو بائیک کوڈ میں مرتب کرنا۔

دوسرا مرحلہ جاوا کوڈ کو مرتب کرنا ہے۔ جاواک مرتب ہمارے لیے یہاں کام کر سکتا ہے۔ صرف ذیل میں کمانڈ جاری کریں:

$ javac مثال 1۔جاوا

مرحلہ 3: C/C ++ ہیڈر فائلیں بنائیں۔

اگلا ، مقامی زبان کی ہیڈر فائلیں بنانی ہوں گی۔ یہ ہیڈر فائلیں مقامی کوڈز کے دستخطوں کو اختیار دیتی ہیں۔

یہ ہیڈر فائلیں جاوا کے مقامی ٹول کے ساتھ بنائی جاسکتی ہیں ، ایک سی اسٹب جنریٹر ایس ڈی کے کے ساتھ بنڈل ، مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے:

جاوا مثال 1۔

مندرجہ ذیل آؤٹ پٹ واپس آنا چاہیے:

مرحلہ 4: مقامی کوڈ لکھنا۔

یہیں سے ہم C/C ++ کوڈ لکھیں گے۔ آپ کو ان تمام دستخطوں کو نوٹ کرنا چاہیے جو کہ ہم نے مرحلہ 1 میں کیے گئے اعلانات سے ملتے جلتے ہیں۔

ذیل میں سی زبان میں لکھا ہوا عمل ہے:

مرحلہ 5: مشترکہ لائبریری بنائیں۔

ایک مشترکہ لائبریری کسی بھی مرتب کے ساتھ بنائی جا سکتی ہے۔ چونکہ مشترکہ لائبریری میں مقامی کوڈ ہوتا ہے ، ہمیں ایک تخلیق کرنا پڑے گا۔

مرحلہ 6: اپنا پروگرام شروع کریں۔

اس مرحلے میں کوڈ کا اندازہ لگانا اور پروگرام کے ساتھ کسی بھی مسائل کی شناخت شامل ہے۔ اس میں جاوا رن ٹائم ماحول شامل ہونے والا ہے کیونکہ کوڈ بنیادی طور پر جے وی ایم میں چلنے والا ہے۔

مندرجہ ذیل کمانڈ جاری کریں:

جاوا مثال 1۔

اسے واپس آنا چاہیے:

تو جاوا مقامی انٹرفیس کو استعمال کرنے کے لیے یہ ہماری مختصر ابتدائی رہنمائی تھی۔ ہمیں امید ہے کہ آپ نے اسے مددگار پایا ہے۔

جے این آئی کے ساتھ کام کرنا سیکھنا ہر اس شخص کے لیے ضروری ہے جو جاوا ایپلی کیشنز تیار کرنا چاہتا ہے ، خاص طور پر اسمارٹ فونز کے لیے اینڈرائیڈ ایپلی کیشنز۔