লিনাক্স প্রোগ্রামগুলিতে .dlls কি করছে?


20

লিনাক্সের জন্য ইউনিটি 3 ডি দিয়ে তৈরি করা গেমগুলিতে .dllতাদের ডেটা ফোল্ডারে ফাইল রয়েছে GameDataFolder/Managed

কোনটি অদ্ভুত কারণ আমি ভেবেছিলাম যে লিনাক্স .soফাইলগুলির পরিবর্তে ফাইল ব্যবহার .dllকরে।

(অ্যান্ড্রয়েড-ইউনিটি 3 ডি অ্যাপ্লিকেশনগুলির ক্ষেত্রেও একই কথা))

কেন?

উত্তর:


25

আপনি যে গেমগুলির কথা বলছেন সেগুলি নেট নেট ফ্রেমওয়ার্কের ভিত্তিতে এবং মনো এর সাথে চলমান, যা মাইক্রোসফ্টের .NET ফ্রেমওয়ার্কের একটি নিখরচায় ও মুক্ত উত্স বাস্তবায়ন।

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

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

দয়া করে নোট করুন যে আপনার কাছে উবুন্টু সংগ্রহস্থলে উপলব্ধ মনো ফ্রেমওয়ার্কের ভিত্তিতে কিছু বিনামূল্যে অ্যাপ্লিকেশন (কেবল গেমস নয়) রয়েছে। যেমন: টমবয়।


11
এছাড়াও মনে রাখবেন যে এই ডেলগুলি "বাস্তব" উইন্ডোজ ডেলের নয় তবে প্রকৃতভাবে সংকলিত। নেট বাইটকোড।
সান্যা_জোল

5
এছাড়াও মনে রাখবেন সহ যে ফাইল এক্সটেনশন, .dllএবং .so, Linux এ অর্থহীন হয়। এগুলি কেবল আমাদের সুবিধার জন্য ব্যবহৃত হয়।
কোড_ড্রেড

1
@ray আপনি কি ব্যাখ্যা করতে পারেন? আমি ভেবেছিলাম তারা এখনও ফাইল ধরণের তথ্য জানাতে একটি মান, তাই অর্থহীন নয়?
এফএমাজ

2
@ ফিনম্যাজুরকিউইজ: একক কেন্দ্রীয় বৈশিষ্ট্যের চেয়ে কিছুটা আলাদা নকশার traditionsতিহ্যকেই প্রয়োগ করা যায় যা উভয়ই সিস্টেম প্রয়োগ করে। প্রকৃতপক্ষে, উইন্ডোজ কার্নেল এবং লিনাক্স ডায়নামিক লিঙ্কার উভয়ই আনন্দের সাথে একটি ভাগ করা লাইব্রেরি (তাদের নিজ নিজ ফর্ম্যাটে) লোড করবে এটির ফাইল নামটি .dll বা .so বা অন্য কিছুতে শেষ হয় কিনা । Historicalতিহাসিক কারণে উইন্ডোজে লোডলাইব্রি সিস্টালটি কিছু ক্ষেত্রে ফাইলের নামের সাথে ".dll" যুক্ত করবে যদি এর ইতিমধ্যে কোনও এক্সটেনশন না থাকে তবে সাধারণত এটি ব্যবহৃত হয় না
হেনিং মাখোলম

1
@ray পুরোপুরি: gccনা একটি লাইব্রেরি যেমন মত সরবরাহকৃত পাবেন -lmযদি তার ফাইলের নাম দিয়ে শেষ হয় না .soবা .aবা versioned রূপগুলো উহার।
রুসলান

9

.dllফাইল GameDataFolder/Managedঅভ্যন্তরীণভাবে মনো ব্যবহার করে এমন নেটিভ কোড প্রোগ্রাম অন্তর্গত।

ইউনিটির গেম ইঞ্জিন মনোকে এম্বেড করে (এমনকি বেশিরভাগ উইন্ডোজ প্ল্যাটফর্মগুলিতেও)।

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

ইউনিটি খেলা ইঞ্জিন - যা দিয়ে গুলিয়ে ফেলা উচিত নয় সবচেয়ে উবুন্টু রিলিজ এ ডিফল্ট গ্রাফিকাল ইন্টারফেস একটি জনপ্রিয় মালিকানা ক্রস-প্ল্যাটফর্ম খেলা ইঞ্জিন --is। এই ইঞ্জিনটি .NET ফ্রেমওয়ার্ক বা মনো এর উপরে চলে নাপরিবর্তে, এটি মনোকে এম্বেড করে , যা এটি বলে যে মনো তার উপরে চলে। এইভাবে বিকাশকারীরা তাদের গেমের যা প্রয়োজন কোড যা ইতিমধ্যে ইউনিটির ইঞ্জিনের অংশ নয়, সেগুলি লিখেন।

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

ইউনিটি গেম ইঞ্জিন কীভাবে মনো ব্যবহার করে

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

ইউনিটির ইঞ্জিনটি উইন্ডোতেও মনোকে এম্বেড করে। জন্য ইউনিভার্সাল উইন্ডোজ প্ল্যাটফর্ম এবং অন্য কোনো প্ল্যাটফর্মে - - গেম এটা মনো পরিবর্তে মাইক্রোসফট .NET ফ্রেমওয়ার্ক ব্যবহার করে। তবে বেশিরভাগ মোবাইল ডিভাইস এবং গেমিং কনসোল সহ বেশিরভাগ প্ল্যাটফর্মের ইউনিটি গেমস এবং উবুন্টু এবং উইন্ডোজ সহ মনো মনো ব্যবহার করে। কিছু প্ল্যাটফর্মে আইএল 2 সিপিপি মনোর বিকল্প হিসাবে উপলব্ধ এবং কয়েকটিতে কেবল আইএল 2 সিপিপি সমর্থিত। বিশদ জন্য স্ক্রিপ্টিং সীমাবদ্ধতা দেখুন ।

অন্যান্য পরিস্থিতি যেখানে আপনি .dllউবুন্টুতে ফাইল দেখতে পাবেন

.dllউবুন্টুতে আপনি যে ফাইলটি দেখতে পাচ্ছেন সম্ভবত দুটি পরিস্থিতি বর্ণিত হয়েছে:

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

অন্য দুটি যুক্তিসঙ্গত সাধারণ ঘটনা রয়েছে যেখানে আপনি .dllউবুন্টুতে একটি ফাইল দেখতে পাবেন :

  1. .NET কোর এর সংকলক .dllফাইলগুলির চেয়ে .exeফাইল তৈরি করে , এমনকি আপনি যেটি সংকলন করছেন তা কোনও লাইব্রেরি নয়। .NET কোর রানটাইম (CoreCLR বলা হয়), এবং না নিয়মিত .NET ফ্রেমওয়ার্ক অথবা মনো, এই ফাইলগুলির চালায়। .NET কোর একটি মাইক্রোসফ্ট পণ্য, তবে মান। নেট ফ্রেমওয়ার্কের বিপরীতে,। নেট কোর উবুন্টুর মতো জিএনইউ / লিনাক্স সিস্টেমগুলির আনুষ্ঠানিক সমর্থন সহ ক্রস প্ল্যাটফর্ম এবং এটি ফ্রি ওপেন সোর্স সফ্টওয়্যার
  2. কখনও কখনও .dllউবুন্টুতে আপনি যে ফাইলটি দেখেন তা কেবল একটি উইন্ডোজ লাইব্রেরি হবে। আপনি যদি এটি দেখতে পারেন যে প্রোগ্রামটি যদি একটি উবুন্টু সিস্টেম সংরক্ষণ করা হয় তবে উইন্ডোতে চালিত হয়, বা আপনি যদি উবুন্টুতে একটি উইন্ডোজ ড্রাইভ মাউন্ট করেন। আপনি ওয়াইন ব্যবহার করে উবুন্টুতে চালিত হতে সক্ষম এমন প্রোগ্রামগুলির সাথে সংযোগে এটিও দেখতে পাবেন , ওয়াইনের সাথে আসা সফ্টওয়্যার সহ বা winetricksঅন্য উইন্ডোজ সফ্টওয়্যার সমর্থন করার জন্য আপনি স্বয়ংক্রিয়ভাবে ইনস্টল করেছেন ।

.dllউবুন্টুতে আপনার মুখোমুখি হওয়া সমস্ত পরিস্থিতিতে নিখুঁতভাবে তালিকাভুক্ত করার চেষ্টা এটি নয় । (উদাহরণস্বরূপ, এটি কোনও ওএস / ২ গ্রন্থাগারও হতে পারে )) তবে আমি বিশ্বাস করি যে এই চারটি ক্ষেত্রে সবচেয়ে সাধারণ বিষয়।

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