সি রানটাইম লাইব্রেরি কী?


157

একটি সি রানটাইম লাইব্রেরি আসলে কী এবং এটি কীসের জন্য ব্যবহৃত হয়? আমি অনুসন্ধান করছিলাম, শয়তানের মতো গুগলিং, তবে মাইক্রোসফ্টের চেয়ে ভাল কিছু আমি খুঁজে পাইনি: "মাইক্রোসফ্ট রান-টাইম লাইব্রেরি মাইক্রোসফ্ট উইন্ডোজ অপারেটিং সিস্টেমের জন্য প্রোগ্রামিংয়ের রুটিন সরবরাহ করে। এই রুটিনগুলি অনেকগুলি সাধারণ প্রোগ্রামিং কাজ স্বয়ংক্রিয় করে দেয় যা সরবরাহ করে না সি এবং সি ++ ভাষা। "

ঠিক আছে, আমি এটি পেয়েছি, তবে উদাহরণস্বরূপ, কি আছে libcmt.lib? এটার কাজ কি? আমি ভেবেছিলাম যে সি স্ট্যান্ডার্ড লাইব্রেরিটি সি সংকলকের একটি অংশ ছিল। সুতরাং হয় libcmt.libWin32 অধীনে কাজ করতে সি মান গ্রন্থাগার ফাংশন উইন্ডোজ 'বাস্তবায়ন?

উত্তর:


71

হ্যাঁ, মাইক্রোসফ্টের সংকলক সহ সরবরাহ করা সি স্ট্যান্ডার্ড লাইব্রেরির libcmt (একের মধ্যে একটি) বাস্তবায়ন। তারা তিনটি মূল ধরণের লাইব্রেরির "ডিবাগ" এবং "রিলিজ" উভয় সংস্করণ সরবরাহ করে: একক থ্রেডযুক্ত (সর্বদা স্থিতিযুক্ত), বহু-থ্রেডযুক্ত স্ট্যাটিকালি লিঙ্কযুক্ত এবং বহু-থ্রেডযুক্ত গতিশীলভাবে সংযুক্ত (যদিও, সংকলক সংস্করণের উপর নির্ভর করে আপনি ব্যবহার করে, তাদের মধ্যে কিছু উপস্থিত নাও থাকতে পারে)।

সুতরাং, "লাইবসিএমটি" নামে, "লাইবসি" হ'ল সি লাইব্রেরির (কম বেশি) প্রথাগত নাম। "এমটি" অর্থ "মাল্টি-থ্রেডেড"। একটি "ডিবাগ" সংস্করণে শেষে "ডি" যুক্ত হবে, "লিবিবিসিএমটিডি" দেওয়া হবে।

এটি যতটা কার্যক্রমে অন্তর্ভুক্ত রয়েছে ততক্ষণ, সি স্ট্যান্ডার্ড (অংশ 7, যদি আপনি যত্ন নেওয়ার ক্ষেত্রে হন) একটি ক্রিয়াকলাপের একটি সেটকে সংজ্ঞায়িত (হোস্টেড) বাস্তবায়ন সরবরাহ করতে হবে ines বেশিরভাগ বিক্রেতারা (মাইক্রোসফ্ট সহ) নিজেই অন্যান্য বিভিন্ন ফাংশন যুক্ত করে (সামঞ্জস্যের জন্য, স্ট্যান্ডার্ড ফাংশনগুলি সম্বোধন করে না এমন ক্ষমতা সরবরাহের জন্য ইত্যাদি) বেশিরভাগ ক্ষেত্রে, এতে বেশ কয়েকটি "অভ্যন্তরীণ" ফাংশন থাকবে যা সংকলক দ্বারা ব্যবহৃত হয় তবে সাধারণত শেষ ব্যবহারকারী দ্বারা নয়।

যদি আপনি "libcmt" (আপনার উদাহরণ ব্যবহারের জন্য) এর ফাংশনগুলির একটি সম্পূর্ণ তালিকা পেতে চান তবে আপনি ভিজ্যুয়াল স্টুডিও কমান্ডের একটি প্রম্পট (সাধারণত "ভিজ্যুয়াল স্টুডিও সরঞ্জামসমূহ" এর অধীনে) খুলতে পারেন, যেখানে আপনার লাইব্রেরিগুলি ছিল সেই ডিরেক্টরিতে স্যুইচ করুন ইনস্টল করা হয়েছে এবং এর মতো কিছু টাইপ করুন: lib -list libcmt.libএবং এটি সেই লাইব্রেরির সমস্ত অবজেক্ট ফাইলের নামের একটি ( দীর্ঘ ) তালিকা তৈরি করবে। এগুলি সর্বদা ফাংশনগুলির নামের সাথে সরাসরি মিল রাখে না , তবে সাধারণত একটি ধারণা দেয়। যদি আপনি কোনও নির্দিষ্ট অবজেক্ট ফাইলটি দেখতে চান, আপনি lib -extractসেই অবজেক্ট ফাইলগুলির মধ্যে একটি বের করতে ব্যবহার করতে পারেন , তবে dumpbin /symbols <object file name>সেই নির্দিষ্ট অবজেক্ট ফাইলে কোন ফাংশন (গুলি) রয়েছে / তা অনুসন্ধান করতে পারেন।


37
আপনি "সি রানটাইম লাইব্রেরি" কি তা বলেন নি !!
onmyway133

4
@ এন্ট্রপি: আমি যেমন করেছি ঠিক তেমনই আমার দিকে তাকাচ্ছে, তবে সংক্ষিপ্ত উত্তরটি হ'ল এটি ফাংশনের একটি সংগ্রহ, যার মধ্যে অনেকগুলি (তবে অগত্যা সমস্ত নয়) সি স্ট্যান্ডার্ডের 7 অংশে নির্দিষ্ট করা আছে।
জেরি কফিন

3
এই উত্তরটি বোঝায় যে সি লাইব্রেরিগুলি সংকলক সরঞ্জামচেইনের একটি অংশ মাত্র। সঠিক না.
jiggunjer

@ জেরি কফিন প্রশ্ন: strcpyউদাহরণস্বরূপ, সি স্ট্যান্ডার্ড লাইব্রেরি থেকে কাজটি কি রানটাইম লাইব্রেরিতে এটি বাস্তবায়ন করতে পারে, বা এটি সাধারণ .c ফাইলগুলিতে কোড থাকে?
ফোরামুলেটর

@ ফিউমুলেটর: সাধারণত একটি .c ফাইলে সোর্স কোড থাকবে যা মানক পাঠাগারটি যথাযথভাবে তৈরি করতে সংকলিত হয়ে যায় (.dll, lib, .a, .so, অথবা আপনি যে সিস্টেমটি ব্যবহার করছেন তাতে প্রয়োগ করতে যা কিছু ঘটবে) ।
জেরি কফিন

55

প্রথমে আমাদের বোঝা উচিত রানটাইম লাইব্রেরি কী; এবং ভাবুন "মাইক্রোসফ্ট সি রানটাইম লাইব্রেরি" বলতে কী বোঝাতে পারে।

দেখুন: http://en.wikedia.org/wiki/ রুনটাইম_ লাইব্রেরি

আমি বেশিরভাগ নিবন্ধটি এখানে পোস্ট করেছি কারণ এটি আপডেট হতে পারে।

একটি কম্পিউটার প্রোগ্রামের উত্স কোডটি যখন কোনও সংকলক দ্বারা সংশ্লিষ্ট টার্গেট ল্যাঙ্গুয়েজে অনুবাদ করা হয় তখন প্রোগ্রামের প্রতিটি কমান্ড এবং বিল্ট-ইন ফাংশনে প্রতিটি কল অন্তর্ভুক্ত জেনারেশনের কারণ হয়ে উঠলে প্রোগ্রাম কোডের চূড়ান্ত সম্প্রসারণ ঘটায় it প্রতিবার লক্ষ্য ভাষায় সম্পূর্ণ সম্পর্কিত প্রোগ্রাম কোডের of পরিবর্তে সংকলকটি রানটাইম লাইব্রেরিতে প্রায়শই সংকলক-নির্দিষ্ট সহায়ক ফাংশনগুলি ব্যবহার করে যা বেশিরভাগ অ্যাপ্লিকেশন প্রোগ্রামারগুলিতে অ্যাক্সেসযোগ্য নয়। সংকলক প্রস্তুতকারকের উপর নির্ভর করে রানটাইম লাইব্রেরিতে মাঝে মাঝে স্বতন্ত্র সংকলকটির স্ট্যান্ডার্ড লাইব্রেরি থাকতে পারে বা এতে অন্তর্ভুক্ত থাকে।

এছাড়াও রানটাইম সময় কেবলমাত্র সম্পাদনযোগ্য (বা আরও দক্ষ বা সঠিক) কাজগুলি রানটাইম লাইব্রেরিতে প্রয়োগ করা হয়, যেমন কিছু যুক্তি ত্রুটি, অ্যারে বাউন্ড চেকিং, ডায়নামিক টাইপ চেকিং, ব্যতিক্রম হ্যান্ডলিং এবং সম্ভবত ডিবাগিং কার্যকারিতা। এই কারণে, পরিশীলিত সংকলন-সময় চেকিং এবং প্রাক-প্রকাশের পরীক্ষার পরেও প্রোগ্রামিংটি "লাইভ" পরিবেশে বাস্তব ডেটা সহ পরীক্ষা না করা পর্যন্ত কিছু প্রোগ্রামিং বাগগুলি খুঁজে পাওয়া যায় না। এই ক্ষেত্রে, শেষ ব্যবহারকারী একটি রানটাইম ত্রুটি বার্তাটির মুখোমুখি হতে পারে।

সাধারণত রানটাইম লাইব্রেরি অপারেটিং সিস্টেম অ্যাক্সেস করে অনেকগুলি কার্যকারিতা উপলব্ধি করে। অনেক প্রোগ্রামিং ভাষার অন্তর্নির্মিত ফাংশন রয়েছে যা সংকলকটিতে অগত্যা উপলব্ধি করতে হবে না, তবে রানটাইম লাইব্রেরিতে প্রয়োগ করা যেতে পারে। সুতরাং রানটাইম লাইব্রেরি এবং স্ট্যান্ডার্ড লাইব্রেরির মধ্যে সীমানা সংকলক প্রস্তুতকারকের উপর নির্ভর করে। সুতরাং একটি রানটাইম লাইব্রেরি সর্বদা সংকলক-নির্দিষ্ট এবং প্ল্যাটফর্ম-নির্দিষ্ট।

রানটাইম লাইব্রেরির ধারণাটিকে কোনও সাধারণ প্রোগ্রাম লাইব্রেরির সাথে বিভ্রান্ত করা উচিত নয় যেমন কোনও অ্যাপ্লিকেশন প্রোগ্রামার দ্বারা তৈরি করা হয় বা তৃতীয় পক্ষ বা ডায়নামিক লাইব্রেরি দ্বারা সরবরাহ করা হয়, যার অর্থ রান সময় সংযুক্ত একটি প্রোগ্রাম লাইব্রেরি। উদাহরণস্বরূপ, প্রোগ্রামিং ল্যাঙ্গুয়েজ সি এর জন্য কেবলমাত্র একটি ন্যূনতম রানটাইম লাইব্রেরি (সাধারণত crt0 বলা হয়) প্রয়োজন তবে প্রতিটি বাস্তবায়নের জন্য সরবরাহ করতে হবে এমন একটি বৃহত্তর স্ট্যান্ডার্ড লাইব্রেরি (সি স্ট্যান্ডার্ড লাইব্রেরি বলা হয়) সংজ্ঞায়িত করে।


3
স্ট্যান্ডার্ড লাইব্রেরি থেকে আলাদা করার উপায় হিসাবে হাইলাইট করা বাক্য হ'ল প্রথম সংক্ষিপ্ত সঠিক উত্তর যা আমি "সর্বাধিক" বা "কখনও কখনও" যোগ্যতা অর্জন করতে দেখিনি।
nik.shornikov

@ নিক.শর্নিকভ: এটি কারণ অন্যান্য বিবরণ আরও নির্ভুল হওয়ার চেষ্টা করে। যদিও এটি সত্য যে একটি প্রমিত লাইব্রেরি সাধারণত একটি সংকলক এবং প্ল্যাটফর্মের জন্য নির্দিষ্ট, এটি সর্বদা সত্য নয়। উদাহরণস্বরূপ, উইন্ডোজের জন্য মিংডাব্লু এবং ইন্টেলের সি ++ সংকলক উভয়ের কমপক্ষে কয়েকটি সংস্করণ তাদের নিজস্ব সরবরাহের চেয়ে মাইক্রোসফ্টের স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করেছে। তেমনি, লিনাক্স-এ ক্ল্যাংটি জিসিসি-র একটি বিদ্যমান ইনস্টলেশনতে নিজের জন্য অন্য ইনস্টল করার পরিবর্তে স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করতে (এবং প্রায়শই এটি থাকে) ইনস্টল করা যেতে পারে।
জেরি কফিন

আমি যুক্তিসঙ্গতভাবে নিশ্চিত যে পসিক্স সমর্থন করে এমন কোনও প্ল্যাটফর্মের পোর্টেবল সি এবং সি ++ স্ট্যান্ডার্ড লাইব্রেরি উভয়েরই প্রয়োগগুলি লেখা সম্ভব।
জেরি কফিন

20

আমি নিজেই এটি জিজ্ঞাসা করেছি এবং কয়েক ঘন্টা ধরে আমার মস্তিষ্কে ব্যাথা দিচ্ছিলাম। তবুও এমন কিছু খুঁজে পেল না যা বাস্তবিকভাবে কোনও বিষয় দেয় makes যে কোনও বিষয়ে কোনও বিষয় লেখার প্রত্যেকেই আসলে "শেখাতে" সক্ষম হয় না। আপনি যদি কাউকে শেখাতে চান তবে কোনও ব্যক্তি যে বোঝে তার সর্বাধিক প্রাথমিক ভাষা গ্রহণ করুন, সুতরাং কোনও বিষয় পরিচালনা করার সময় তাকে অন্যান্য বিষয়গুলির যত্ন নেওয়ার প্রয়োজন হয় না। তাই আমি নিজের জন্য একটি সিদ্ধান্তে পৌঁছেছি যা এই সমস্ত বিশৃঙ্খলার সাথে ভাল ফিট করে।

প্রোগ্রামিং ল্যাঙ্গুয়েজ সি তে, প্রতিটি প্রোগ্রামম মূল () ফাংশন দিয়ে শুরু হয়। অন্যান্য ভাষাগুলি প্রোগ্রাম শুরু হয় যেখানে অন্যান্য ফাংশন সংজ্ঞায়িত করতে পারে। তবে কোনও প্রসেসর মেইন () জানে না। একটি প্রসেসর কেবল পূর্বনির্ধারিত কমান্ডগুলি জানেন, "0" এবং "1" এর সংমিশ্রণ দ্বারা প্রতিনিধিত্ব করা।

মাইক্রোপ্রসেসর প্রোগ্রামিংয়ে অন্তর্নিহিত অপারেটিং সিস্টেম না থাকায় (মাইক্রোসফ্ট উইন্ডোজ, লিনাক্স, ম্যাকোস, ..) আপনাকে প্রসেসরটি স্পষ্টভাবে বলতে হবে যে প্রোগ্রামমকুন্টার (পিসি) সেট করে কোথায় শুরু করতে হবে যা পুনরাবৃত্তি করে এবং ভিতরে লাফ দেয় (লুপস, ফাংশন কল) প্রসেসরের জানা কমান্ডগুলি। র‌্যামটি কতটা বড় তা আপনাকে জানতে হবে, আপনাকে প্রোগ্রামাম স্ট্যাকের অবস্থান (স্থানীয় ভেরিয়েবল) নির্ধারণ করতে হবে, পাশাপাশি স্তূপের অবস্থান (গতিশীল ভেরিয়েবল) এবং বিশ্বব্যাপী ভেরিয়েবলের অবস্থান (আমি অনুমান করি যে এটি এসএসএ বলা হত) ?) র‌্যামের মধ্যে। একটি একক প্রসেসর একবারে কেবল একটি প্রোগ্রাম চালাতে পারে।

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

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

উপসংহার: রন্টিমিলিবারি নামকরণে ব্যর্থ। প্রাথমিক যুগে .dll (রানটাইমের সময় সংযোগ) থাকতে পারে না এবং পার্থক্য বোঝার বিষয়টি সহজভাবে উপস্থিত ছিল না। তবে এটি সত্য হলেও, নামটি খারাপভাবে চয়ন করা হয়।

রানটাইম লাইব্রেরির জন্য আরও ভাল নাম হতে পারে: স্টার্টআপলাইবারি / ওসেন্ট্রি লাইবারি / সিস্টেমকনেক্টলিবেরি / ওএস সংযোগলিবারি

আশা করি আমি এটি সঠিকভাবে পেয়েছি, সংশোধন / প্রসারণ চিয়ার্সের জন্য।


1
আমি এখনও আদর্শ পাই না। একটি প্রোগ্রাম রানটাইম কেন কিছু প্রয়োজন? বাইনারি কোডটি রানটাইমে কোনও সমর্থন ছাড়াই 100% একা কেন চালানো যায় না? বা অন্য কথায়: কোনও কোড ছাড়াই কি 100% চালানো সম্ভব (ওএস সহ)?
মারসিওএবি

5
তত্ত্বগতভাবে কোনও প্রোগ্রামের আরটিএল প্রয়োজন হয় না । তবে, কীভাবে আপনার প্রোগ্রামটি এর ফলাফল প্রদর্শন করে বা অপারেটিং সিস্টেমের কোনও সহযোগিতা ছাড়াই কোনও ইনপুট বা মেমরি অনুরোধ করবে?
এসএন

16

সি একটি ভাষা এবং এর সংজ্ঞা অনুসারে, আপনার জন্য কোনও কার্যকারিতা উপলব্ধ হওয়ার দরকার নেই। কোনও আইও, কোনও গণিতের রুটিন ইত্যাদি নেই। কনভেনশন দ্বারা, আপনার জন্য এমন কয়েকটি রুটিন উপলব্ধ রয়েছে যা আপনি আপনার এক্সিকিউটেবলের সাথে লিঙ্ক করতে পারেন, তবে আপনাকে সেগুলি ব্যবহার করার দরকার নেই। এটি অবশ্য এমন একটি সাধারণ কাজ যা বেশিরভাগ লিঙ্কার আপনাকে আর সি রানটাইম লাইব্রেরিতে লিঙ্ক করতে বলবে না।

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


11
বাস্তবিক, সি মান সি পরিবেশের দুই ধরনের বর্ণনা - "freestanding" এবং "হোস্ট" - এবং, হোস্ট পরিবেশে ফাংশন মান বর্ণনা করা হয় প্রাপ্তিসাধ্য হিসাবে সংজ্ঞায়িত করা। এম্বেড থাকা সিস্টেমে, সি পরিবেশটি সাধারণত ফ্রিস্ট্যান্ডিং হয়, যাতে আপনার লাইব্রেরির রুটিন না থাকে বা আপনি কিছু ব্যবহার এড়াতে এবং নিজের প্রতিস্থাপন ব্যবহার করতে সক্ষম হতে পারেন।

10

রানটাইম লাইব্রেরি হ'ল লাইব্রেরি যা আপনার চালিত কোনও সি প্রোগ্রামের জন্য স্বয়ংক্রিয়ভাবে সংকলিত হয়। আপনি যে লাইব্রেরির সংস্করণটি ব্যবহার করবেন তা আপনার সংকলক, প্ল্যাটফর্ম, ডিবাগিং বিকল্পগুলি এবং মাল্টিথ্রেডিং বিকল্পগুলির উপর নির্ভর করে।

রানটাইম লাইব্রেরির জন্য বিভিন্ন পছন্দগুলির একটি ভাল বর্ণনা: http://www.davidlenihan.com/2008/01/choosing_the_correct_cc_runtim.html

এটি সেই ফাংশনগুলি অন্তর্ভুক্ত করে যা আপনি সাধারণত কল করার জন্য কোনও গ্রন্থাগারের প্রয়োজন হিসাবে ভাবেন না:

  • যদি malloc
  • enum, কাঠামো
  • অ্যাবস, মিনিট
  • জাহির করা

মাইক্রোসফ্ট তাদের রানটাইম লাইব্রেরি ফাংশনগুলির একটি দুর্দান্ত তালিকা রয়েছে:

http://msdn.microsoft.com/en-us/library/2aza74he(VS.71).aspx

সংকলনের উপর নির্ভর করে ফাংশনগুলির সঠিক তালিকাটি পৃথক হবে, সুতরাং আইওএসের জন্য আপনি অন্যান্য ফাংশন যেমন ডিসপ্যাচ_্যাসেন্স () বা এনএসলগ () পাবেন।


1
স্ট্রাক্ট এবং এনাম কি আসলেই একটি রানটাইম লাইব্রেরি?
ডিন পি

6

আপনি যদি সি বা সি ++ থেকে সংকলিত এক্সিকিউটেবলের উপর নির্ভরতা ওয়াকারের মতো একটি সরঞ্জাম ব্যবহার করেন তবে দেখতে পাবেন যে ডিএলএল এর উপর নির্ভর করে তার মধ্যে একটি হ'ল এমএসভিসিআরটি.ডিএলএল। এটি মাইক্রোসফ্ট সি রানটাইম লাইব্রেরি। আপনি যদি ডিডাব্লুএসের সাথে আরও এমএসভিসিআরটি.ডিএলএল পরীক্ষা করেন তবে আপনি দেখতে পাবেন যে এখানে প্রিন্টফ (), পুটস (0, পায় (), আটোই () ইত্যাদি সমস্ত ফাংশন লাইভ রয়েছে।


6
কেবলমাত্র সেই এক্সিকিউটেবলকে সংকলন করার সময়, সি রানটাইমটি গতিশীলভাবে সংযুক্ত ছিল। যদি এটি স্ট্যাটিকভাবে সংযুক্ত করা হয়, তবে নির্ভরতা ওয়াকাররা লক্ষ্য করবেন না
এলি বেন্ডারস্কি

4

আমি মনে করি মাইক্রোসফ্টের সংজ্ঞাটির প্রকৃত অর্থ:

মাইক্রোসফ্ট স্ট্যান্ডার্ড সি রান-টাইম লাইব্রেরি প্রয়োগ করে ...


3

উইন 32 এসডিকে সরবরাহ করা সি রান-টাইম লাইব্রেরির তিনটি ফর্ম রয়েছে:

* LIBC.LIB is a statically linked library for single-threaded programs.
* LIBCMT.LIB is a statically linked library that supports multithreaded programs.
* CRTDLL.LIB is an import library for CRTDLL.DLL that also supports multithreaded programs. CRTDLL.DLL itself is part of Windows NT. 

মাইক্রোসফ্ট ভিজ্যুয়াল সি ++ 32-বিট সংস্করণে এই তিনটি ফর্মও রয়েছে, তবে, একটি ডিএলএল-এর সিআরটি নাম দেওয়া হয়েছে এমএসভিসিআরটি.ইলবি। ডিএলএল পুনরায় বিতরণযোগ্য। এর নামটি ভিসি ++ এর সংস্করণ (যেমন এমএসভিসিআরটিটি দশটি.ডিএলএল বা এমএসভিসিআরসিটি ২০.ডিএলএল) এর উপর নির্ভর করে। তবে খেয়াল করুন, এমএসভিসিআরটিটি 10.ডিএলএল উইন 32 এ সমর্থিত নয়, যখন সিআরটিডিএলএল.আইবিবি উইন 32 এ সমর্থিত। MSVCRT20.DLL দুটি সংস্করণে আসে: একটি উইন্ডোজ এনটি এবং অন্যটি উইন 32 এর জন্য।

দেখুন: http://support.microsoft.com/?scid=kb%3Ben-us%3B94248&x=12&y=9

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.