একটি লিনাক্স বাইনারি এক্সিকিউটেবল ফাইল তৈরি করতে উইন্ডোজে ভিজ্যুয়াল সি ++ সংকলক বলার পক্ষে কি অসুবিধা হয়?
মাইক্রোসফ্টের পক্ষ থেকে এটি করার অনীহা ছাড়া অন্য কিছুই, একেবারেই কিছুই নয়। বাধাগুলি প্রযুক্তিগত নয়।
বিকাশ সরঞ্জামচেনগুলি কেবলমাত্র এমন প্রোগ্রাম যা ইনপুট নেয় এবং আউটপুট উত্পাদন করে। ভিজ্যুয়াল সি ++ x86 অ্যাসেমবিলি তৈরি করে এবং তারপরে এটিকে একটি সিওএফএফ অবজেক্ট ফাইলে রূপান্তর করতে একটি এসেম্বলার ব্যবহার করে। মাইক্রোসফ্ট যদি এটির পরিবর্তে ইএলএফ তৈরি করতে চায় তবে এটি কেবল কোড: সমাবেশ আসবে, ইএলএফ চলে গেল out অবজেক্ট ফাইল বা লাইব্রেরি সম্পর্কে কোনও জাদু নেই; তারা একটি সুস্পষ্ট ফর্ম্যাটে কেবল ডেটা ব্লব're
পাথরের যুগে ফিরে আসা, ক্রস সংকলনটি অনেক বেশি কঠিন ছিল কারণ প্রায়শই না হয়ে আপনি আপনার লক্ষ্য প্ল্যাটফর্মের জন্য যে প্ল্যাটফর্মটি চালাবেন তার জন্য আপনার লক্ষ্য প্ল্যাটফর্মের জন্য টুল চেইনটি লিখতেন। এর অর্থ হ'ল পৃথিবীতে যদি ভ্যাক্স, এম 68 কে এবং আলফা আর্কিটেকচারগুলি থাকত তবে ক্রস-সংকলকগুলির একটি সম্পূর্ণ স্যুইটের মধ্যে বেশিরভাগ স্ক্র্যাচ থেকেই তাদের নয়টি লেখার প্রয়োজন হত। (VAX-to-VAX, VAX-to-M68K, VAX-to-Alpha, M68K-to-VAX, M68K-to-M68K, ইত্যাদি) ভ্যাক্স সংকলকটির কিছু অংশ পুনরায় ব্যবহার করা যেতে পারে এবং এটি অতিরঞ্জনের কিছুটা এবং প্রতিটি টার্গেটের জন্য কোড জেনারেটরের সাথে সংযুক্ত (যেমন, ভ্যাক্স, এম 68 কে এবং আলফা, প্রতিটি ভ্যাক্সের জন্য লিখিত।)
এই সমস্যাটি তখনই সরে যায় যখন আমরা কোনও ভাষায় সংকলক লিখতে শুরু করি যা নির্দিষ্ট প্রসেসরের সাথে আবদ্ধ ছিল না, যেমন একটি সি that রুটের দিকে যাওয়া মানে আপনি একবারে পুরো সরঞ্জামচেনটি লিখে যান এবং স্থানীয়-প্ল্যাটফর্মের জন্য একটি লিখিত ব্যবহার করেন এটি তৈরির জন্য সি সংকলক। (স্থানীয় প্ল্যাটফর্মের সংকলকটিতে বুটস্ট্র্যাপ করার পরে আপনি প্রায়শই সংকলকটি নিজেকে পুনরায় সংকলন করতে ব্যবহার করতেন, তবে এটি অন্য আলোচনা) স্থানীয় প্ল্যাটফর্ম। কেবলমাত্র তাত্পর্যপূর্ণ পার্থক্যটি হ'ল বিল্ড প্রক্রিয়ায় কোথাও আপনি স্থানীয় প্ল্যাটফর্মের জন্য একটির পরিবর্তে আপনার টার্গেট প্ল্যাটফর্মের জন্য কোড জেনারেটরে সংকলন করতে বলেছিলেন, যা যৌক্তিক পছন্দ হত।
সংকলকগুলির আর্কিটেকচারটি বিকশিত হওয়ার সাথে সাথে পণ্যটির সাথে সমস্ত কোড জেনারেটরকে কেবল অন্তর্ভুক্ত করা এবং তৈরি করা এবং রানটাইম সময় কোনটি ব্যবহৃত হয় তা নির্বাচন করা সুবিধাজনক হয়ে ওঠে। ঝনঝন / এলএলভিএম এটি করে, এবং আমি নিশ্চিত যে আরও কিছু আছে।
আপনার একবার ওয়ার্কিং টুলচেন (সংকলক, এসেম্বলার, লিঙ্কার) হয়ে গেলে গ্রন্থাগারগুলি উত্স থেকে তৈরি হয়ে যায় এবং শেষ পর্যন্ত আপনি অন্য কোনও প্ল্যাটফর্মের জন্য এক্সিকিউটেবল ফাইল তৈরি করার জন্য প্রয়োজনীয় সবকিছু শেষ করেন।