Retargeting
سافٹ ویئر انجینئرنگ میں، ری ٹارگیٹنگ سافٹ ویئر ڈویلپمنٹ ٹولز کی ایک خاصیت ہے جسے خاص طور پر ایک سے زیادہ کمپیوٹنگ پلیٹ فارم کے لیے کوڈ تیار کرنے کے لیے ڈیزائن کیا گیا ہے۔ ایک ریٹارجیٹ ایبل مرتب ایک مرتب ہے جسے مختلف سی پی یو انسٹرکشن سیٹ آرکیٹیکچرز کے لیے کوڈ تیار کرنے کے لیے نسبتا آسان ترمیم کرنے کے لیے ڈیزائن کیا گیا ہے۔ اس خیال کی تاریخ 1950 کی دہائی کی ہے جب یو این سی او ایل کو عالمگیر انٹرمیڈیٹ زبان کے طور پر تجویز کیا گیا تھا۔ پاسکل پی-مرتب ابتدائی وسیع پیمانے پر استعمال ہونے والے ریٹارجیٹ ایبل مرتب کی ایک مثال ہے۔ ایک ری ٹارگیٹ ایبل مرتب تیار کرنے کی لاگت جو ایک غیر ری ٹارگیٹ ایبل مرتب سے ملتے جلتے معیار کا کوڈ تیار کرتی ہے (یعنی، جو صرف ایک ہی پروسیسر کے لیے کوڈ تیار کرنے کے لیے ڈیزائن کیا گیا ہے) زیادہ ہے کیونکہ تالیف کے تمام مراحل میں سی پی یو مخصوص تفصیلات کا استعمال کرنا ممکن نہیں ہے۔ دوبارہ ہدف کے قابل مرتب کرنے والے کے فوائد یہ ہیں کہ متعدد سی پی یو پر کل لاگت بہت سے انفرادی غیر ہدف کے قابل مرتب کرنے والوں کی مشترکہ لاگت سے بہت کم ہے۔ کچھ ریٹارگیٹ ایبل مرتب، مثال کے طور پر، جی سی سی، اتنے وسیع پیمانے پر پورٹ اور تیار ہو گئے کہ اب ان میں بہت سی اصلاح اور مشین کی مخصوص تفصیلات کے لیے سپورٹ شامل ہے کہ کوڈ کا معیار اکثر بہت سے سی پی یوز پر غیر ریٹارگیٹ ایبل مرتب کرنے والوں کو پیچھے چھوڑ دیتا ہے۔ ایک عام مقصد والا عالمی اصلاح کار جس کے بعد مشین کے لیے مخصوص پیفول اصلاح عام طور پر استعمال ہونے والی عمل درآمد کی تکنیک ہے۔ کچھ اعلی کارکردگی والے پروسیسرز کے لیے کوڈ کی اصلاح کے لیے فن تعمیر اور ہدایات پر عمل درآمد کے بارے میں تفصیلی اور مخصوص علم کی ضرورت ہوتی ہے۔ جب تک ڈویلپرز خاص طور پر کسی فن تعمیر کے لیے کوڈ جنریٹر لکھنے کے لیے ضروری وقت کی بڑی مقدار کی سرمایہ کاری نہیں کرتے، تب تک ری ٹارگیٹ ایبل مرتب کے ذریعے انجام دی جانے والی اصلاحات صرف وہی ہوں گی جو عام پروسیسر کی خصوصیات پر لاگو ہوتی ہیں۔ ری ٹارگیٹ ایبل مرتب ایک قسم کا کراس مرتب ہوتا ہے۔ اکثر (لیکن ہمیشہ نہیں) ایک ری ٹارگیٹ ایبل مرتب پورٹیبل ہوتا ہے (مرتب خود کئی مختلف سی پی یو پر چل سکتا ہے) اور سیلف ہوسٹنگ۔ ریٹارگیٹ ایبل مرتب کرنے والوں کی مثالیں: جی سی سی اے سی کے ایل سی سی وی بی سی سی پورٹیبل سی مرتب کرنے والا ایس ڈی سی سی ایل ایل وی ایم اسمال-سی مرتب کرنے والا ایم پی جی، "مشین سے آزاد موثر مائکرو پروگرام جنریٹر" ڈیکمپائلر ریٹیک ("ریٹارگیٹ ایبل ڈیکمپائلر") ایل ایل وی ایم پر مبنی ایک اوپن سورس ریٹارگیٹ ایبل مشین کوڈ ڈکمپائلر ہے۔ ڈکمپیلر کسی خاص ٹارگٹ آرکیٹیکچر، آپریٹنگ سسٹم، یا قابل عمل فائل فارمیٹ تک محدود نہیں ہے: سپورٹڈ فائل فارمیٹس: ای ایل ایف، پی ای، میک-او، سی او ایف ایف، اے آر (آرکائیو)، انٹیل ایچ ای ایکس، اور را مشین کوڈ۔ معاون آرکیٹیکچرز (فی الحال صرف 32 بٹ): انٹیل x86، اے آر ایم، ایم آئی پی ایس، پی آئی سی 32، اور پاور پی سی۔ اسمبلرز اس کے برعکس، ری ٹارگیٹ ایبل اسمبلرز مختلف فارمیٹس کی آبجیکٹ فائلیں تیار کرنے کے قابل ہوتے ہیں، جو اسمبلی زبان کے پروگراموں کو مختلف آپریٹنگ سسٹمز پر پورٹ کرنے میں مفید ہوتے ہیں جو ایک ہی سی پی یو فن تعمیر پر چلتے ہیں (جیسے x86 پلیٹ فارم پر ونڈوز اور لینکس)۔ این اے ایس ایم ایسا ہی ایک اسمبلر ہے۔ مزید پڑھنا ایک ریٹارگیٹ ایبل سی مرتب: ڈیزائن اور نفاذ () حوالہ جات بیرونی روابط LANCE مرتب کرنے والی ویب سائٹ LLVM مرتب کرنے والی بنیادی ڈھانچے کی ویب سائٹ (اوپن سورس) ACK سورس فورج پیج نیلز ویلر کا C مرتب کرنے والا صفحہ ریٹ ڈیک ویب سائٹ مرتب کرتا ہے