আমি নিজেই এটি জিজ্ঞাসা করেছি এবং কয়েক ঘন্টা ধরে আমার মস্তিষ্কে ব্যাথা দিচ্ছিলাম। তবুও এমন কিছু খুঁজে পেল না যা বাস্তবিকভাবে কোনও বিষয় দেয় makes যে কোনও বিষয়ে কোনও বিষয় লেখার প্রত্যেকেই আসলে "শেখাতে" সক্ষম হয় না। আপনি যদি কাউকে শেখাতে চান তবে কোনও ব্যক্তি যে বোঝে তার সর্বাধিক প্রাথমিক ভাষা গ্রহণ করুন, সুতরাং কোনও বিষয় পরিচালনা করার সময় তাকে অন্যান্য বিষয়গুলির যত্ন নেওয়ার প্রয়োজন হয় না। তাই আমি নিজের জন্য একটি সিদ্ধান্তে পৌঁছেছি যা এই সমস্ত বিশৃঙ্খলার সাথে ভাল ফিট করে।
প্রোগ্রামিং ল্যাঙ্গুয়েজ সি তে, প্রতিটি প্রোগ্রামম মূল () ফাংশন দিয়ে শুরু হয়। অন্যান্য ভাষাগুলি প্রোগ্রাম শুরু হয় যেখানে অন্যান্য ফাংশন সংজ্ঞায়িত করতে পারে। তবে কোনও প্রসেসর মেইন () জানে না। একটি প্রসেসর কেবল পূর্বনির্ধারিত কমান্ডগুলি জানেন, "0" এবং "1" এর সংমিশ্রণ দ্বারা প্রতিনিধিত্ব করা।
মাইক্রোপ্রসেসর প্রোগ্রামিংয়ে অন্তর্নিহিত অপারেটিং সিস্টেম না থাকায় (মাইক্রোসফ্ট উইন্ডোজ, লিনাক্স, ম্যাকোস, ..) আপনাকে প্রসেসরটি স্পষ্টভাবে বলতে হবে যে প্রোগ্রামমকুন্টার (পিসি) সেট করে কোথায় শুরু করতে হবে যা পুনরাবৃত্তি করে এবং ভিতরে লাফ দেয় (লুপস, ফাংশন কল) প্রসেসরের জানা কমান্ডগুলি। র্যামটি কতটা বড় তা আপনাকে জানতে হবে, আপনাকে প্রোগ্রামাম স্ট্যাকের অবস্থান (স্থানীয় ভেরিয়েবল) নির্ধারণ করতে হবে, পাশাপাশি স্তূপের অবস্থান (গতিশীল ভেরিয়েবল) এবং বিশ্বব্যাপী ভেরিয়েবলের অবস্থান (আমি অনুমান করি যে এটি এসএসএ বলা হত) ?) র্যামের মধ্যে। একটি একক প্রসেসর একবারে কেবল একটি প্রোগ্রাম চালাতে পারে।
অপারেটিং সিস্টেমটি যেখানে আসে সেগুলি। অপারেটিং সিস্টেমটি নিজেই একটি প্রোগ্রাম যা প্রসেসরের উপর চলে। এমন একটি প্রোগ্রাম যা কাস্টম কোড কার্যকর করার অনুমতি দেয়। প্রোগ্রামগুলির এক্সিকিউশন কোডগুলির (যা র্যামে লোড করা হয়) মধ্যে পরিবর্তন করে একসাথে একাধিক প্রোগ্রাম চালায়। তবে অপারেটিং সিস্টেমটি একটি প্রোগ্রাম, প্রতিটি প্রোগ্রাম আলাদা আলাদাভাবে লেখা হয়। আপনার কাস্টম প্রোগ্রামের কোডটি কেবল র্যামে রাখলে এটি চলবে না, অপারেটিং সিস্টেম এটি জানে না। আপনার প্রোগ্রামটি রেজিস্টার করে এমন অপারেটিং সিস্টেমে আপনাকে ফাংশনগুলি কল করতে হবে, অপারেটিং সিস্টেমটিকে প্রোগ্রামটির কত মেমরি দরকার তা বলতে হবে, যেখানে প্রোগ্রামে প্রবেশের স্থানটি রয়েছে (সি এর ক্ষেত্রে মূল () ফাংশন)। এবং এটি আমি অনুমান করি এটি রানটাইম লাইব্রেরির মধ্যেই রয়েছে এবং প্রতিটি অপারেটিং সিস্টেমের জন্য আপনার কেন একটি বিশেষ গ্রন্থাগার প্রয়োজন তা ব্যাখ্যা করে,
এটি ডান্টিমিলিবারি বলা হলেও, .dll ফাইল হিসাবে রানটাইমগুলিতে কেন এটি গতিশীলভাবে সংযুক্ত হয় না তা এটিও ব্যাখ্যা করে। রানটাইম লাইবারিটি স্ট্যাটিকালি লিঙ্ক করা দরকার, কারণ এটি আপনার প্রোগ্রামের শুরুতে প্রয়োজন। রানটাইমলিবারি আপনার কাস্টম প্রোগ্রামটিকে রুটিনটাইমে অন্য প্রোগ্রামে / অপারেটিং সিস্টেমের সাথে / সংযুক্ত করে। এই বাস্তবতা কিছু মস্তিষ্ক চ ...
উপসংহার: রন্টিমিলিবারি নামকরণে ব্যর্থ। প্রাথমিক যুগে .dll (রানটাইমের সময় সংযোগ) থাকতে পারে না এবং পার্থক্য বোঝার বিষয়টি সহজভাবে উপস্থিত ছিল না। তবে এটি সত্য হলেও, নামটি খারাপভাবে চয়ন করা হয়।
রানটাইম লাইব্রেরির জন্য আরও ভাল নাম হতে পারে: স্টার্টআপলাইবারি / ওসেন্ট্রি লাইবারি / সিস্টেমকনেক্টলিবেরি / ওএস সংযোগলিবারি
আশা করি আমি এটি সঠিকভাবে পেয়েছি, সংশোধন / প্রসারণ চিয়ার্সের জন্য।