সফলভাবে একটি প্রোগ্রাম চালানোর জন্য তিনটি জিনিস মিলে যায়:
- CPU- র নির্দেশ সেট (যেমন। এক্স 86 আপনার পিসিতে, এআরএম আপনার মোবাইল ফোনে এ, পাওয়ারপিসি কিছু অ্যাপল Macs- এর মধ্যে জাভা বাইটকোড জাভা অ্যাপলেট জন্য, CLI জন্য "নেট" / মনো অ্যাপ্লিকেশন)
- বাইনারি ফাইল ফর্ম্যাট (যেমন। পি ই / COFF ".exe" মাইক্রোসফট উইন্ডোজ, জন্য জার জাভা অ্যাপলেট, জন্য PE32 ".exe", ELF ইউনিক্স / লিনাক্স দিকে)
- অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস ; (যেমন। POSIX লিনাক্স / ইউনিক্স, উপর কোকো ম্যাক ওএসএক্স, জন্য Win32 মাইক্রোসফট উইন্ডোজ, উপর বেজ ক্লাস লাইব্রেরী "নেট" জন্য / মনো অ্যাপ্লিকেশন)।
ইমুলেটর / দোভাষী (অন্যান্য সিপিইউ নির্দেশিকা সেটগুলির জন্য), অতিরিক্ত ফাইল লোডার (বিদেশী ফাইল-ফর্ম্যাটগুলির জন্য) থাকার মাধ্যমে, এবং আরও প্রোগ্রামিং লাইব্রেরিগুলি আরও API সরবরাহ করার মাধ্যমে আপনি তিনটি মিলিয়ে যাওয়ার সুযোগ বাড়াতে পারেন।
আরও মনে রাখবেন, কিছু প্রসেসর স্থানীয়ভাবে একাধিক নির্দেশিকা নির্বাহ করতে পারে; একটি পিসি প্রায়শই x86 এবং amd64 নির্দেশ সেট থাকে; একটি এআরএম প্রসেসর চারটি কার্যকর করতে পারে: এআরএম 32 / থাম্ব / জাভা বাইকোড / থাম্বইই । কিছু অপারেটিং সিস্টেম একাধিক এপিআই স্থানীয়ভাবেও সরবরাহ করতে পারে (মাইক্রোসফ্ট উইন্ডোজ উইন 32 এবং পসিক্স সরবরাহ করে )।
অন্য সব কিছুর জন্য আপনার অতিরিক্ত সফ্টওয়্যার লাগবে। জাভা প্রোগ্রামগুলি চালনার জন্য আপনাকে এটিকে কাজ করতে উপরে তালিকাভুক্ত তিনটি অংশের প্রয়োজন: বাইটকোড চালানোর জন্য একটি জাভা ভার্চুয়াল মেশিন প্রোগ্রাম ; জাভা প্রোগ্রাম চালু করার একটি উপায়, এবং প্রোগ্রামগুলির কল করার জন্য একটি জাভা ক্লাসলিবারি। "জাভা" মূলত সূর্যের দ্বারা বিকাশ করা কয়েকটি পৃথক পৃথক প্রযুক্তির ব্র্যান্ডনাম, তবে একটি ব্যবহারকারীর কাছে তারা প্রায়শই একটি হিসাবে ডাউনলোড হয়।
একইটি "। নেট" এর ক্ষেত্রে প্রযোজ্য, যা মাইক্রোসফ্ট দ্বারা মূলত বিকাশ করা বিভিন্ন প্রযুক্তিগুলির বিপণন ব্র্যান্ডনাম: প্রচলিত ভাষা রান-টাইম / বেস ক্লাস লাইব্রেরি (সিএলআর) এপিআই; ভিইএস হ'ল লোডার এবং কমন ল্যাঙ্গুয়েজ ইন্টারফেস (সিএলআই) হল নির্দেশের সেট।
আপনাকে মাইক্রোসফ্ট থেকে সূর্যের কাছ থেকে বা ইন্টেল থেকে এই প্রযুক্তিগুলি ডাউনলোড করতে হবে না কারণ তারা মূলত কিছু আবিষ্কার করেছিল। এএমডি প্রসেসরগুলি ইন্টেলের মানের সাথে সামঞ্জস্যপূর্ণ করে তোলে; অ্যাপাচি ("হারমনি") এবং গুগল ("অ্যান্ড্রয়েড ডালভিক") উভয়ই জাভার মতো স্যুট তৈরি করে; এবং মনো একটি সিএলআর / সিএলআই / ভেস স্যুট সরবরাহ করে। গুরুত্বপূর্ণ বিষয় হ'ল প্রত্যেকে একই মানদণ্ডগুলি ব্যবহার করে তাদের সামঞ্জস্যপূর্ণ করে তোলে। একটি ডিভিডি ডিস্ক এমন কোনও ডিভিডি প্লেয়ারের সাথে খেলবে যা মানকটি পূরণ করে এবং একটি HTML ওয়েবপৃষ্ঠা যে কোনও ওয়েব ব্রাউজারে এইচটিএমএল মান পূরণ করে উপস্থাপন করবে।
- মনো হ'ল একটি সিএলআর / সিএলআই / ভেস স্যুট যা ম্যাক ওএসএক্স, এমএস উইন্ডোজ এবং লিনাক্সে চলতে পারে।
- ওয়াইন একটি উইন 32 এপিআই বাস্তবায়ন যা ম্যাক ওএসএক্স, এমএস উইন্ডোজ এবং লিনাক্সে চলতে পারে।
- আপনি যেকোন অপারেটিং সিস্টেমের উপরে ওয়াইন এর উপরে মনো চালাতে পারেন ।
- আপনি যেকোন সিপিইউ আর্কিটেকচারের শীর্ষে, কেমুর উপরে ওয়াইন চালাতে পারেন ।
সুতরাং মনো সিএলআর। এক্স অ্যাপ্লিকেশনগুলি চালিত করে এবং ওয়াইন উইন 32। এক্স অ্যাপ্লিকেশনগুলি চালিত করে। একমাত্র সাধারণ বিষয় হল ফাইলের নামগুলি ".exe" এ শেষ হয়; বিষয়বস্তুগুলি সম্পূর্ণ আলাদা এবং বেমানান, সুতরাং আপনার সঠিক প্রয়োজন ।
পারল (এবং এর বিপরীতে) উপস্থাপন করার সময় পাইথন দোভাষী যেমন ত্রুটি ঘটায় তেমনি x86 + Win32, বা JVM + জাভা বাইটকোড উপস্থাপন করার সময় একটি সিএলআর ইন্টারপ্রেটার ত্রুটি করবে। আপনি যে নির্দিষ্ট প্রোগ্রামটি চালাতে চান তার লিঙ্কটি যদি পোস্ট করতে পারেন তবে আমি বা অন্য কেউ আপনাকে সঠিক নির্দেশিকা সেট, ফাইল ফর্ম্যাট এবং এপিআই এর জন্য ডিজাইন করেছিল এবং লিনাক্সে আপনাকে কী ইনস্টল করতে হবে তা বলতে সক্ষম হবেন এটি চালাতে। আশা করি এইটি কাজ করবে!
(কখনও কখনও আপনার উভয়ের প্রয়োজনও হতে পারে example উদাহরণস্বরূপ, ওপেনবেভ ট্রেন সিমুলেটরটি সি # এবং পিই / সিএফএফ + সিএলআই + সিএলআর তে সংকলিত হয়, তবে পিই / সিএফএফ + উইন 32 + x86 এর জন্য সংকলিত সি বাইনারি প্লাগইনগুলি ব্যবহার করতে পারেন this এক্ষেত্রে আপনি ওয়াইন এর অধীনে মনো এর একটি উইন 32 সংস্করণ প্রয়োজন। সিপিইউ আর্কিটেকচারটিও যদি আলাদা হয় তবে অনুকরণের প্রয়োজন হবে; সুতরাং মনোটি কেমুর অধীনে ওয়াইন এর নিচে)।