لینکس '.a' فائل بنانا اور چلانا

Lynks A Fayl Bnana Awr Chlana



لینکس آپریٹنگ سسٹم میں فائلوں کے ساتھ کام کرنے کے لیے مختلف کمانڈز اور تکنیکوں کی شمولیت کی ضرورت ہوتی ہے جو ڈویلپرز کو فائلوں، کوڈ، پروگراموں، اسکرپٹس اور دیگر چیزوں کو مؤثر طریقے سے بنانے اور اس پر عمل کرنے کے قابل بناتے ہیں۔ لینکس کے ماحول میں، '.a' ایکسٹینشن والی فائلیں جامد لائبریریوں کی طرح ایک اہم اہمیت رکھتی ہیں۔ یہ لائبریریاں سافٹ ویئر ڈویلپمنٹ میں ایک اہم کردار ادا کرتی ہیں، جس سے ڈویلپرز کو متعدد پروگراموں کے ساتھ مشترکہ فنکشنلٹیز کو مؤثر طریقے سے منظم اور مؤثر طریقے سے شیئر کرنے کی اجازت ملتی ہے۔

'.a' فائل بنانے اور چلانے کے طریقے کو سمجھنا لینکس کے ماحول میں موثر سافٹ ویئر ڈویلپمنٹ کے لیے بہت ضروری ہے۔ یہ لینکس '.a' فائل کو انسٹال اور کنفیگر کرنے کا ایک جامع طریقہ ہے۔ آئیے دریافت کریں کہ لینکس '.a' فائل کیا ہے، اس کا مقصد، ساخت، اور اسے کیسے بنایا اور عمل میں لایا جا سکتا ہے۔

لینکس میں '.a' فائل کیا ہے؟

لینکس '.a' فائل ایک آرکائیو فائل ہے جو مرتب کردہ کوڈ اور ڈیٹا کے لیے کنٹینر کے طور پر کام کرتی ہے۔ یہ عام طور پر ایک جامد لائبریری کے طور پر جانا جاتا ہے جس میں ایسے کوڈ ہوتے ہیں جو تالیف کے وقت کالنگ کوڈ سے منسلک ہوتے ہیں جو ایپلیکیشن کا بنیادی حصہ بن جاتا ہے۔ یہ لینکس '.a' فائلیں ایپلیکیشن میں پہلے سے مرتب شدہ، بنیادی شراکت فراہم کرتی ہیں، جو لینکس '.so' متحرک لائبریریوں کی فائلوں سے بالکل متصادم ہوتی ہیں جہاں رن ٹائم کے وقت لنک ہوتا ہے۔







آئیے ایک ایسے منظر نامے کا تصور کریں جس میں ایک ڈویلپر تین مختلف پروگراموں کو نافذ کرتا ہے۔ یہ جانتے ہوئے کہ ان پروگراموں میں مشترکہ فعالیت موجود ہے، پروگرامر ایک لائبریری بناتا ہے جو ان مشترکہ خصوصیات کو سمیٹتا ہے جو کہ '.a' فائل کے طور پر پیش کی جاتی ہیں۔ اس وقت جاننے کے لیے اہم خبر یہ ہے کہ لینکس '.a' فائلیں کوڈ اور ڈیٹا کا دوبارہ قابل استعمال مجموعہ بن جاتی ہیں جسے دوسرے ڈویلپر اپنے پروجیکٹس میں استعمال کر سکتے ہیں۔



شرائط:

لینکس میں '.a' فائل بنانے اور چلانے کا طریقہ سیکھنے سے پہلے، چند بنیادی چیزوں کو جاننا ضروری ہے۔ لینکس میں کسی فنکشن کو انجام دینے سے پہلے چند شرائط ہیں جن کو یقینی بنانا چاہیے۔ وہ درج ذیل ہیں:



  • Ubuntu 20.04 یا کوئی تازہ ترین ورژن
  • کمانڈ لائن یا ٹرمینل ونڈو تک رسائی
  • ایک صارف اکاؤنٹ، خاص طور پر sudo مراعات، مختلف فائلوں اور ڈائریکٹریوں کے لیے

آپ لینکس '.a' فائل کیسے بناتے اور چلاتے ہیں؟

لینکس '.a' فائل کو بنانے اور چلانے میں کئی مراحل شامل ہیں: تخلیق، تالیف، اور عملدرآمد۔ ان اعمال کو انجام دینے کے لیے مختلف طریقے استعمال کیے جا سکتے ہیں، اور ہم ان میں سے ہر ایک کو انفرادی طور پر تلاش کریں گے۔ آئیے شروع کرتے ہیں۔





درج ذیل مثال کو چلانے اور اس پر عمل کرنے کے لیے آپ کو ایک GCC کمپائلر کی ضرورت ہے۔ کمپائلر کو لینکس '.a' فائل بنانے اور چلانے کے لیے تمام کمانڈز کو چلانے کے لیے استعمال کیا جاتا ہے:



ذیل میں وہ اقدامات ہیں جن کی وضاحت مختلف کمانڈز اور تکنیکوں کے ذریعے کی گئی ہے۔

مرحلہ 1: ایک C سورس فائل مرتب کریں۔

مندرجہ ذیل کمانڈ کے ساتھ C سورس فائلز (.c) کو آبجیکٹ فائلز (.o) میں مرتب کرنے کے لیے GCC کمپائلر کا استعمال کرتے ہوئے C کی سورس فائل بنا کر کام شروع کریں:

$ جی سی سی -دیوار -c * .c

'-وال' جھنڈا تمام انتباہات کو قابل بناتا ہے اور '-c' جھنڈا GCC کو صرف اس مقام پر مرتب کرنے کے لیے کہتا ہے، لنک نہیں،۔

مرحلہ 2: لائبریری آرکائیو بنائیں

اگلا مرحلہ لائبریری فائل بنانا ہے۔ 'ar' کمانڈ آبجیکٹ فائلوں سے جامد لائبریری آرکائیو (.a) بناتی ہے۔ لہذا، ہم مندرجہ ذیل کمانڈ استعمال کرتے ہیں:

$ کے ساتھ -cvq libfile.a * .او

یہ کمانڈ لینکس آپریٹنگ سسٹم میں 'ar' (archive) کمانڈ کا استعمال کرتے ہوئے مختلف آبجیکٹ فائلوں کو ملا کر 'libfile.a' کے نام سے ایک مستحکم آرکائیو فائل بناتی ہے جس میں '.o' ایکسٹینشن ہے۔ اس کمانڈ میں تین چیزوں کو نوٹ کرنا ہے: 'c'، 'v'، اور 'q'۔ آئیے اجزاء کو توڑتے ہیں اور اس کمانڈ کے تناظر میں ہر جھنڈے اور دلیل کے مقصد کو سمجھتے ہیں:

ar: یہ لینکس سسٹمز میں آرکائیو کمانڈ انجام دیتا ہے۔ 'ar' کمانڈ کا بنیادی کام آرکائیول سے تخلیق، ترمیم اور نکالنا ہے۔

-c: یہ پرچم ایک نیا آرکائیو بنانے کی ہدایت کرتا ہے اگر یہ پہلے سے نہیں بنایا گیا ہے یا ابھی موجود نہیں ہے۔ اگر دیے گئے نام کے ساتھ ایک آرکائیو فائل موجود ہے، تو '-c' جھنڈا یقینی بناتا ہے کہ اسے دوبارہ بنایا گیا ہے، کسی بھی سابقہ ​​مواد کو بدل کر۔

-v: وربوز پرچم آرکائیو کرنے کے عمل کے بارے میں تفصیلی معلومات دکھاتا ہے۔ یہ ایک تاثرات فراہم کرتا ہے جس پر فائلوں کو آرکائیو میں شامل کیا جا رہا ہے۔

-q: 'q' کا مطلب ہے 'جلدی سے ضمیمہ'۔ یہ 'ar' جھنڈے سے مخصوص فائلوں کو فوری طور پر آرکائیو میں شامل کرنے کے لیے کہتا ہے کہ وہ ڈپلیکیٹ علامتوں یا وقت ضائع کرنے والی کارروائیوں کی جانچ کیے بغیر۔

libfile.a: اس کمانڈ کے لیے فائل کا نام درکار ہے جسے بنایا یا تبدیل کیا جائے گا۔ یہاں، ہم '.a' ایکسٹینشن کے ساتھ ایک فائل کا نام 'libfile' دیتے ہیں جو اس بات کی نشاندہی کرتا ہے کہ یہ ایک جامد لائبریری آرکائیو فائل ہے۔

*.o: کمانڈ کے آخر میں '*' منتخب ڈائریکٹری میں ہر فائل کو '.o' ایکسٹینشن کے ساتھ ظاہر کرتا ہے جو آبجیکٹ فائلوں کا حوالہ دیتا ہے۔ آبجیکٹ فائلیں سورس کوڈ کی تالیف کے نتائج ہیں اور ان میں ایک مشین کوڈ ہوتا ہے جو ابھی تک کسی حتمی قابل عمل سے منسلک نہیں ہے۔

مرحلہ 3: لائبریری کے مواد کو دیکھنا

اب جب کہ ہم نے لائبریری آرکائیو بنایا ہے، ہم اسے 'ar -t' کمانڈ کا استعمال کرتے ہوئے دیکھ سکتے ہیں۔ 'ar -t' کمانڈ لائبریری میں موجود تمام مواد کی فہرست بناتی ہے۔

$ کے ساتھ -t libfile.a

'ar -t libfile.a' کمانڈ ان تمام آبجیکٹ فائلوں کی فہرست بناتی ہے جو لینکس آپریٹنگ سسٹم میں 'ar' کمانڈ کا استعمال کرتے ہوئے 'libfile.a' نامی جامد لائبریری آرکائیو فائل میں موجود ہیں۔ آئیے ہر پرچم اور ان کی فعالیت کا تجزیہ کریں:

ar: جیسا کہ پہلے ذکر کیا گیا ہے، یہ لینکس سسٹمز میں آرکائیو کمانڈ ہے۔

-t: '-t' جھنڈا آرکائیو کے مشمولات کے جدول کو ظاہر کرنے کے لیے استعمال کیا جاتا ہے، جو 'libfile.a' میں محفوظ کردہ آبجیکٹ فائلوں کے نام دکھاتا ہے۔

libfile.a: ڈیٹا کو پڑھنے کے لیے ہمیں آرکائیو فائل کا نام جاننا ہوگا۔

مرحلہ 4: کسی دوسرے پروگرام میں لائبریری کا استعمال

آئیے اب دیکھتے ہیں کہ نئے تیار کردہ لینکس '.a' فائل کو مختلف پروگرام میں کیسے استعمال کیا جائے۔ چونکہ ہم نے ایک لائبریری بنائی ہے، اب اسے کمپائل کمانڈ میں لائبریری کو شامل کرکے کہیں بھی اور کسی بھی پروگرام میں استعمال کیا جا سکتا ہے۔ ہم اسے بعد کے کمانڈ کی مدد سے پورا کر سکتے ہیں۔ اس میں لائبریری کے تمام ضروری ہیڈرز اور لنکس شامل ہیں۔

$ جی سی سی -او MyProgramMain.c -ایل راستہ / کو / lib ہے فائل فائل

اس کمانڈ میں، '-L' لائبریری کے راستے کی وضاحت کرتا ہے، '-lfile' 'library.a' libfile کے خلاف لنک کرتا ہے، 'lib' سابقہ ​​اور '.a' لاحقہ کو ہٹاتا ہے۔

مرحلہ 5: '.a' لینکس فائل چلائیں۔

آخر میں، ہم '.a' فائل چلا سکتے ہیں۔ آپ کے ٹرمینل میں درج ذیل اسکرپٹ کو چلانے کے فوراً بعد نتیجہ آپ کو دکھایا جاتا ہے۔

$ . / مائی پروگرام مین

یہ کمانڈ فائل کو عمل میں لاتی ہے، ان افعال کو استعمال کرتے ہوئے جو سورس فائلوں اور منسلک جامد لائبریری دونوں میں فراہم کی جاتی ہیں۔

نتیجہ

لینکس میں '.a' فائل بنانے اور چلانے کے لیے مختلف کمانڈز کو مرتب کرنے کی ضرورت ہوتی ہے جو فائل کی تخلیق، تالیف، اور لنکنگ انجام دیتے ہیں۔ ان اقدامات کو سمجھنا اور ہر کمانڈ کی کام کرنے والی خصوصیات ڈویلپرز کو اپنے کوڈ کو منظم کرنے، بیرونی لائبریریوں کو استعمال کرنے اور توسیع پذیر پروگراموں کو تیار کرنے کے قابل بناتی ہے۔ چاہے آپ کو نینو اور جی سی سی جیسی بنیادی کمانڈز استعمال کرنے کی ضرورت ہو یا آپ جامد لائبریریوں کے ساتھ مزید جدید تکنیکوں کے ساتھ کام کرنے والے ہوں، ان مہارتوں میں مہارت حاصل کرنے سے لینکس پر مبنی عملی ترقی میں مدد ملتی ہے۔