GNU lightning
জি. এন. ইউ লাইটনিং হল রান-টাইমে অ্যাসেম্বলি ল্যাঙ্গুয়েজ কোড তৈরির জন্য একটি ফ্রি-সফ্টওয়্যার লাইব্রেরি। 2019 সালের সেপ্টেম্বরে প্রকাশিত সংস্করণ 2.1.3, স্পার্ক (32-বিট), x86 (32-এবং 64-বিট), এম. আই. পি. এস, এ. আর. এম (32-এবং 64-বিট), আই. এ. 64, এইচ. পি. পি. এ, পাওয়ারপিসি (32-বিট), আলফা, এস390 এবং আর. আই. এস. সি-ভি (64-বিট)-এর জন্য ব্যাকএন্ড সমর্থন করে। অন্যান্য গ্রন্থাগারের তুলনায় সুবিধা জি. এন. ইউ লাইটনিং-এর বৈশিষ্ট্যগুলি এটিকে জাস্ট-ইন-টাইম সংকলনের জন্য দরকারী করে তোলে। এল. এল. ভি. এম বা লিব. জে. আই. টি-র মতো গ্রন্থাগারগুলির তুলনায়, জি. এন. ইউ লাইটনিং একটি প্রমিত আর. আই. এস. সি সমাবেশ ভাষা থেকে-শিথিলভাবে এস. পি. এ. আর. সি এবং এম. আই. পি. এস স্থাপত্যের উপর ভিত্তি করে-লক্ষ্য স্থাপত্যের যান্ত্রিক ভাষায় একত্রিত করার জন্য শুধুমাত্র একটি নিম্ন-স্তরের ইন্টারফেস সরবরাহ করে। অসুবিধাগুলি এটি রেজিস্টার বরাদ্দ, ডেটা-ফ্লো বা কন্ট্রোল-ফ্লো বিশ্লেষণ বা অপ্টিমাইজেশন প্রদান করে না। 2. x থেকে শুরু করে, এটি মধ্যবর্তী গ্রাফের মাধ্যমে কোড তৈরি করে, প্রতিটি এর প্রমিত নির্দেশ থেকে একের পর এক নয়। এই পরিবর্তনটি রেজিস্টার বরাদ্দ এবং ডেড কোড নির্মূলের মতো আন্তঃ-নির্দেশ অপ্টিমাইজেশনের অনুমতি দেয়। নির্দেশ সেট জি. এন. ইউ লাইটনিং-এর নির্দেশ সেটটি বিদ্যমান আর. আই. এস. সি স্থাপত্যের উপর ভিত্তি করে তৈরি। প্রকার যখন প্রয়োজন হয় নির্দেশাবলী এই 9 ধরনের তথ্য পরিচালনা করেঃ যে প্রকল্পগুলি জি. এন. ইউ লাইটনিং জি. এন. ইউ স্মলটক, জি. এন. ইউ গিল এবং সি. এল. আই. এস. পি ব্যবহার করে সেগুলি সময়মতো সংকলনের জন্য জি. এন. ইউ লাইটনিং ব্যবহার করে। জি. এন. ইউ লাইটনিং প্রথম জি. এন. ইউ স্মলটকের ডাইনামিক ট্রান্সলেটর থেকে নেটিভ কোডে ব্যবহার করার জন্য একটি সরঞ্জাম হিসাবে তৈরি করা হয়েছিল। জিএনইউ গাইল 2.9.2 এবং পরে স্থানীয় কোড প্রজন্মের জন্য জিএনইউ লাইটনিং 1.4-এর উপর ভিত্তি করে তাদের নিজস্ব কাঁটাচামচ পরিবর্তে জিএনইউ লাইটনিং 2. x ব্যবহার করা বন্ধ করে দেয়, কারণ জিএনইউ লাইটনিং 2. x আন্তঃ-নির্দেশ অপ্টিমাইজেশনে আরও জটিলতা নিবেদিত করে। বিবরণ বাহ্যিক লিঙ্ক মুক্ত সফ্টওয়্যার ডিরেক্টরি বজ্রপাতের উপর জি. এন. ইউ বজ্রপাত