XS (Perl)
ایکس ایس ایک پرل فارن فنکشن انٹرفیس ہے جس کے ذریعے ایک پروگرام سی یا سی + + سبروٹین کو کال کر سکتا ہے۔ ایکس ایس یا ایکس سب "ایکسٹینڈیبل سبروٹین" کا مخفف ہے۔ ایکس ایس سے مراد اس طرح کے انٹرفیس کی حمایت کرنے والے کالنگ انٹرفیس کی وضاحت کے لیے گلو زبان بھی ہے (نیچے دیکھیں)۔ پرل میں بیک گراؤنڈ سبروٹین لائبریریوں کو ماڈیول کہا جاتا ہے، اور جن ماڈیولز میں ایکس سب ہوتے ہیں انہیں ایکس ایس ماڈیول کہا جاتا ہے۔ پرل ماڈیولز کو تیار کرنے، پیکیجنگ، تقسیم کرنے اور انسٹال کرنے کے لیے ایک فریم ورک فراہم کرتا ہے۔ ایک پرل پروگرام کے لیے یہ مطلوب ہو سکتا ہے کہ وہ بہت سی پی یو یا میموری سے بھرپور کاموں کو سنبھالنے کے لیے، ہارڈ ویئر یا نچلے درجے کے سسٹم کی سہولیات کے ساتھ انٹرفیس کرنے کے لیے، یا موجودہ سی سبروٹین لائبریریوں کا استعمال کرنے کے لیے سی سبروٹین کا استعمال کرے۔ پرل مترجم پرل مترجم ایک سی پروگرام ہے، لہذا اصولی طور پر پرل سے سی پر کال کرنے میں کوئی رکاوٹ نہیں ہے۔ تاہم، ایکس ایس انٹرفیس پیچیدہ اور انتہائی تکنیکی ہے، اور اس کے استعمال کے لیے مترجم کی کچھ سمجھ کی ضرورت ہوتی ہے۔ اس موضوع پر سب سے قدیم حوالہ پرلگٹس پی او ڈی تھا۔ ریپرز XS ماڈیولز لکھنا ممکن ہے جو C + + کوڈ کو لپیٹتے ہیں۔ ایسا کرنا زیادہ تر ماڈیول بلڈ سسٹم کو ترتیب دینے کا معاملہ ہے۔ مثال کوڈ درج ذیل ایک XS ماڈیول دکھاتا ہے جو دو تاروں (یعنی پرل کے مساوی) کو جوڑنے کے لیے ایک فنکشن کنکیٹ () کو بے نقاب کرتا ہے۔ آپریٹر)۔ #define PERL _ NO _ GET _ CONTEXT #include "EXTERN.h" #include "perl.h" #include "SV * _ do _ sv _ catsv (pTHX _ SV * एक _ sv، SV * دو _ sv) {SV * ایک _ کاپی = نیا SVsv (ایک _ sv) ؛ sv _ catsv (ایک _ کاپی، دو _ sv) ؛ ایک _ کاپی واپس کریں ؛} ماڈل = ڈیمو:: XSM ماڈیول پیکیج = ڈیمو:: XSM ماڈیول SV * کنکیٹ (SV * ایک _ sv، SV * دو اس کے بعد کسی بھی سادہ سی فنکشن کی پیروی کریں جو مقامی طور پر کال کرنے کے قابل ہوں۔ وہ سیکشن جو ماڈیول = ڈیمو:: ایکس ایس ماڈیول سے شروع ہوتا ہے، اصل ایکس ایس میکرو زبان کا استعمال کرتے ہوئے اس کوڈ کے لیے پرل انٹرفیس کی وضاحت کرتا ہے۔ نوٹ کریں کہ کوڈ: سیکشن کے تحت سی کوڈ _ ڈو _ ایس وی _ کیٹسو () پیور-سی فنکشن کو کال کرتا ہے جس کی وضاحت پچھلے سیکشن میں کی گئی تھی۔ پرل کی دستاویزات اوپر دکھائے گئے تمام "خصوصی" علامتوں (جیسے، اے ٹی ایچ ایکس _ اور آر ای ٹی وی اے ایل) کے معنی اور مقصد کی وضاحت کرتی ہیں۔ اس ماڈیول کو پرل کے لیے دستیاب کرنے کے لیے اسے مرتب کرنا ضروری ہے۔ ایکسٹ یوٹلس:: میک میکر جیسے ٹولز بنائیں جو یہ خود بخود کر سکتے ہیں۔ (دستی طور پر بنانے کے لیے: ایکس سبپ ٹول ایک ایکس ایس ماڈیول کو تجزیہ کرتا ہے اور سی سورس کوڈ کو آؤٹ پٹ کرتا ہے۔ اس سورس کوڈ کو پھر ایک مشترکہ لائبریری میں مرتب کیا جاتا ہے اور ایک ڈائرکٹری میں رکھا جاتا ہے جہاں پرل اسے تلاش کر سکتا ہے۔) پرل کوڈ پھر مرتب کردہ ایکس ایس ماڈیول کو لوڈ کرنے کے لیے ایکس ایس لوڈر جیسے ماڈیول کا استعمال کرتا ہے۔ اس مقام پر پرل ڈیمو:: ایکس ایس ماڈیول:: کونکیٹ ('فو'، 'بار') کو کال کر سکتا ہے اور ایک سٹرنگ فوبار واپس وصول کر سکتا ہے، جیسے کہ کونکیٹ () خود پرل میں لکھا گیا ہو۔ نوٹ کریں کہ، پہلے سے موجود سی لائبریریوں کے لیے پرل انٹرفیس بنانے کے لیے، ایچ 2 ایکس ایس ایکس ایس فائل کی زیادہ تر تخلیق کو خودکار بنا سکتا ہے۔ مشکلات ایکس ایس ماڈیولز کی تخلیق اور دیکھ بھال کے لیے خود سی کے ساتھ ساتھ پرل کے وسیع سی اے پی آئی کے ساتھ مہارت کی ضرورت ہوتی ہے۔ ایکس ایس ماڈیولز صرف اس صورت میں انسٹال کیے جا سکتے ہیں جب سی کمپائلر اور ہیڈر فائلیں دستیاب ہوں جن کے خلاف پرل انٹرپریٹر کو مرتب کیا گیا تھا۔ نیز، پرل کے نئے ورژن بائنری مطابقت کو توڑ سکتے ہیں جس کے لیے XS ماڈیولز کو دوبارہ مرتب کرنے کی ضرورت ہوتی ہے۔ ایس ڈبلیو آئی جی بھی دیکھیں، جو ایکس ایس کا ایک متبادل ہے جو کئی دوسری زبانوں سے سی اور سی + + افعال کو کال کرنے کی بھی حمایت کرتا ہے۔ ایف ایف آئی، ایک ایسا طریقہ کار جو دوسری زبان میں لکھے گئے کالنگ کے معمولات کو قابل بناتا ہے۔ حوالہ جات جینیس، ٹم اینڈ کوزنز، سائمن (2002)۔ "ایکسٹینڈنگ اینڈ ایمبیڈنگ پرل"۔ گرین وچ: میننگ پبلکیشنز کمپنی۔ بیرونی لنکس perlxs Perl XS ایپلیکیشن پروگرامنگ انٹرفیس perlxstut Perl XS ٹیوٹوریل perlguts Perl اندرونی افعال ان لوگوں کے لیے جو ایکسٹینشنز پرلاپی Perl API لسٹنگ (آٹو جنریٹڈ) XS میکینکس ٹیوٹوریل Perl اور C + + بلڈنگ XS ماڈیولز C + + xs-تفریح XS کے لیے تفریح ہے: Perl XS Perl لکھنے پر ایک آسان اور آسان ٹیوٹوریل