Linker ایک کمپائلر جزو ہے جو مختلف ذرائع سے متعدد آبجیکٹ کوڈ فائلوں کو ایک قابل عمل فائل میں یکجا کرنے کے لیے استعمال ہوتا ہے۔ اس کا بنیادی مقصد فائلوں (علامتی ریزولوشن) کے درمیان حوالہ جات کو حل کرنا اور میموری سیگمنٹس کے لیے ری لوکیشن انجام دینا ہے، تاکہ پروگرام میں موجود تمام ڈیٹا کو صحیح طریقے سے آپس میں جوڑا جائے۔
Linkers بہت سے پلیٹ فارمز پر استعمال ہوتے ہیں، لیکن یہ خاص طور پر پرسنل کمپیوٹرز (PCs) کے تناظر میں رائج ہیں۔ وہ اکثر ایپلی کیشنز کے لیے ترقی کے عمل میں استعمال ہوتے ہیں، اور کوڈ کی ایک بڑی مقدار کو ایک چھوٹی، زیادہ کمپیکٹ فائل میں ترتیب دینے کے لیے کام کرتے ہیں۔
لنکرز عام طور پر ایک کمپائلر پیکج کا حصہ ہوتے ہیں، اور لائبریریوں کو آپس میں جوڑنے کے لیے بھی استعمال کیا جا سکتا ہے، دونوں ترقیاتی ماحول (جامد لنکنگ) اور شاید دوسری لائبریریوں (متحرک لنکنگ) سے۔
لنک میں ترمیم کے اہم مراحل یہ ہیں:
1. لائبریری کی تلاش - ضروری کوڈ تلاش کرنے کے لیے لائبریریوں کی فہرست میں تلاش کرنا۔
2. علامتی قرارداد - اشیاء اور ان کے نفاذ کے درمیان حوالہ جات کو حل کرنا۔
3. آبجیکٹ کوڈ جوائننگ - آبجیکٹ پروگراموں کو ایک قابل عمل پروگرام میں ملانا۔
4. ایڈریس کی جگہ بدلنا - کوڈ میں حوالہ جات کو ایڈجسٹ کرنا، اگر بھری ہوئی سیگمنٹس اسی میموری ایڈریس میں موجود نہ ہوں جیسا کہ کوڈ میں بتایا گیا ہے۔
5. ڈیبگنگ کی معلومات - آسان ڈیبگنگ کی اجازت دینے کے لیے ڈیبگنگ کی معلومات پیدا کرنا۔
لنکرز اضافی کنفیگریشن کرنے کے لیے اضافی اسکرپٹ چلانا، ایپلیکیشن میں سیکیورٹی چیک شامل کرنا اور دوسرے پلیٹ فارمز کے ساتھ مطابقت کو یقینی بنانے جیسے کام بھی انجام دے سکتے ہیں۔
کمپیوٹر وائرس بھی بدنیتی پر مبنی استعمال کے لیے بنائے گئے ہیں، خاص طور پر موجودہ پروگراموں میں نقصان دہ کوڈ کو متاثر کرنے اور لنک کرنے کے لیے۔ لہذا لنکر کے لیے سب سے اہم کاموں میں سے ایک منسلک پروگرام کی حفاظت اور حفاظت کو یقینی بنانا ہے۔