অ্যাপোলো -11: লিঙ্কারের পরিবর্তে অন্তর্ভুক্তি ব্যবহার করা


9

সম্প্রতি ডিজিটালাইজড এবং একটি রেপোতে রূপান্তরিত হয়েছে, আসল অ্যাপোলো 11 নির্দেশিকা কম্পিউটার উত্স কোডটি গিথুবটিতে দেখার জন্য উপলব্ধ করা হয়েছে ।

ইন MAIN.agc , রেপো লেখক মন্তব্য তারা যে

বিশাল একতরফা উত্স কোডটি ছোট, আরও পরিচালনযোগ্য অংশগুলিতে বিভক্ত করুন - অর্থাত্ পৃথক উত্স # ফাইলগুলিতে।

একটু পরে, লেখক বলেছেন

এটি যুক্তিসঙ্গতভাবে জিজ্ঞাসা করা যেতে পারে যে কেন কয়েক হাজার লাইনের উত্স অন্তর্ভুক্তির মাধ্যমে যুক্ত হয়, কেবল সোর্স ফাইলগুলিকে স্বতন্ত্রভাবে একত্রিত করে এবং তারপরে এটিকে কার্যকর করার জন্য সংযুক্ত করে inking উত্তরটি হ'ল মূল উন্নয়ন দলের কোনও লিঙ্কার ছিল না er

আমি লিঙ্কারগুলি কী তা জানি এবং আমি সেগুলির বিষয়টি বুঝতে পারি-তবে আমি কখনও এই শব্দবন্ধটি শুনিনি (যতদূর এএসএম যায়) "অন্তর্ভুক্তির মাধ্যমে যোগ দেওয়া"।

এটার মানে কি? প্রোগ্রামিংয়ে লিঙ্কাররা একটি বড় বিষয় বিবেচনা করে, আমি আগ্রহী যে "অন্তর্ভুক্তির উপায়" দ্বারা লিঙ্কারগুলির এই বিকল্পটি কী এবং এটি কীভাবে কাজ করে তা আমি আগ্রহী।


7
একটি উদাহরণ "অন্তর্ভুক্তি মাধ্যমে যোগদান" হবে #includeমধ্যে ডিরেক্টিভের C। অন্য কথায়, কোড বিংয়ের পরিবর্তে একসাথে সংযুক্ত থাকা উপাদানগুলিতে সংকলিত কোডের চেয়ে দেখে মনে হয় $যে একটি বৃহত উত্স ফাইল তৈরি করতে স্বরলিপিটিতে সেই ফাইলের বিষয়বস্তু অন্তর্ভুক্ত রয়েছে। এটির পরে একটি বৃহত উত্স ফাইলটি একটি একক সত্তা হিসাবে সংকলিত হয়।
ডেভিড আরনো

1
@ ডেভিডআর্নো আপনার মন্তব্যে বোর্ডে থাকা দুটি জবাবের চেয়ে ভাল উত্তর বলে মনে হচ্ছে।
রস প্রেসার

উত্তর:


18

এগুলির অর্থ সাধারণ পাঠ্য সংক্ষিপ্তকরণ / সন্নিবেশ বোঝানো বলে মনে হচ্ছে। অন্য কথায়, উত্স পাঠ্যটি পৃথক ফাইলে বিভক্ত হলেও প্রোগ্রামটি মডিউলগুলিতে বিভক্ত হয়নি ।


-2

লিঙ্কিংয়ের সাথে কীভাবে সহজ অন্তর্ভুক্তি তুলনা করে?

# অন্তর্ভুক্ত "কিছুCFile.c" ব্যবহার করে এত সহজ অন্তর্ভুক্তি সম্পন্ন হয়।

ডিফল্টরূপে লিঙ্কারগুলি রানটাইম লাইব্রেরি যুক্ত করবে। অন্তর্ভুক্তির সাথে, এটি অন্তর্ভুক্ত করতে হবে।

আমি সন্দেহ করি যে অন্তর্ভুক্তিতে কম স্থান নেবে কারণ পদার্থগুলিতে প্রবেশের পয়েন্টগুলি সহ টেবিলের প্রয়োজন হবে না এবং নাম সহ সম্ভাব্য ভেরিয়েবল থাকতে হবে। গতিশীল সংযোগে, প্রবেশের পয়েন্ট টেবিলটি সেখানে থাকতে হবে। আমি নিশ্চিত নই যে স্থির যোগসূত্রটি এটি সরিয়ে ফেলবে কি না, আপনার সন্দেহ হয় যে এটি তা নয়।

প্রক্রিয়াকরণের গতির মেয়াদে, অন্তর্ভুক্তি সম্ভবত কিছুটা দ্রুত (স্পষ্টতই গতিযুক্ত সংযুক্ত গ্রন্থাগারের ক্ষেত্রে) তবে এটি তত নমনীয় নয়, তারা একাধিক অ্যাপ্লিকেশন একই লাইব্রেরিটি ভাগ করতে পারেনি।

বাইনারি আকার বিবেচনা করে, অন্তর্ভুক্তি আরও বড় হবে।

সংকলনের সময় বিবেচনা করে, অন্তর্ভুক্তিতে আরও বেশি সময় লাগবে।

নাসা নেভিগেশন কম্পিউটারের জন্য সহজ অন্তর্ভুক্তি ঠিক ছিল কারণ নেভিগেশন কম্পিউটার কেবল একটি প্রোগ্রাম চালিয়েছিল।


2
আমি মনে করি না এটি "এটি কী এবং এটি কীভাবে কাজ করে" এই প্রশ্নের উত্তর দেয়।
tofro

টফরো: আমি "এর অর্থ কী?" এটি বাইনারি আকার এবং সম্পাদন গতির ক্ষেত্রে ব্যবহারিক দিক থেকে কী বোঝায়।
রবার্ট ব্যারন

"অন্তর্ভুক্তি আরও বড় হবে" - এটি পাবেন না। কোডটি যদি এতে থাকে তবে এটি স্থানটিতে ব্যবহার করে এবং এটি বাইনারিটিতে কীভাবে .ুকেছিল তা নির্বিশেষে space সংকলনের সময় এমনকি একমত না - একটি সম্পূর্ণ বিল্ড অভিন্ন সময় নিতে চলেছে। ইনক্রিমেন্টাল বিল্ডগুলি করার সময় আপনি কেবল গতি অর্জন করেন এবং আমি সন্দেহ করি এটি ইতিমধ্যে 60 এর দশকে অনুশীলন হয়েছিল
tofro

কমপক্ষে অপারেটিং সিস্টেমের সমস্ত ক্রিয়াকলাপ এক্সিকিউটেবলের মধ্যে কার্যকর হওয়ায় মৃত্যুর গতি দ্রুততর হবে, সুতরাং এগুলি কেবল বাধা ব্যবহারের বিপরীতে কলগুলি রয়েছে (আমি নূন্যতম অপারেটিং সিস্টেম যেমন ডস হিসাবে বিবেচনা করছি যেখানে এটি 8086 এর বিঘ্ন ব্যবহার করেছিল সিস্টেম কল করার জন্য)। এছাড়াও, পুরো অপারেটিং সিস্টেমটি অন্তর্ভুক্ত করার ফলে এটি কখন না হয় তার চেয়ে বেশি স্থান গ্রহণ করবে এবং সংকলনের সময়টিকে যুক্ত করবে।
রবার্ট ব্যারন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.