এলএলভিএম 17.0 ইতিমধ্যে প্রকাশিত হয়েছে এবং এগুলি এর সংবাদ

LLVM লোগো

LLVM হল কম্পাইলার তৈরির পাশাপাশি নতুন প্রোগ্রামিং ভাষা তৈরি করতে এবং বিদ্যমান ভাষাগুলির উন্নতিতে সাহায্য করার জন্য একটি কাঠামো।

উন্নয়নের ছয় মাস পরে LLVM 17.0 এর নতুন সংস্করণ উপস্থাপন করা হয়েছে, যাতে বিভিন্ন উন্নতি, পরিবর্তন, বাগ ফিক্স এবং সর্বোপরি, বিভিন্ন গুরুত্বপূর্ণ দিকগুলি Clang 17.0-এ প্রয়োগ করা হয়েছে।

যারা LLVM এর সাথে অপরিচিত তাদের জন্য, আপনার জানা উচিত যে এটি একটি GCC সামঞ্জস্যপূর্ণ কম্পাইলার (কম্পাইলার, অপ্টিমাইজার এবং কোড জেনারেটর) যেটি প্রোগ্রামগুলিকে RISC-এর মতো ভার্চুয়াল ইন্সট্রাকশন ইন্টারমিডিয়েট বিটকোড (একটি বহুস্তরীয় অপ্টিমাইজেশন সিস্টেম সহ একটি নিম্ন-স্তরের ভার্চুয়াল মেশিন) কম্পাইল করে।

জেনারেট করা সিউডোকোড JIT কম্পাইলার দ্বারা মেশিন নির্দেশাবলীতে রূপান্তরিত করা যেতে পারে প্রোগ্রাম নির্বাহের সময়।

এলএলভিএম 17.0 এর প্রধান নতুন বৈশিষ্ট্য

LLVM 17.0-এর এই নতুন সংস্করণে যা উপস্থাপিত হয়েছে, সেখানে বিভিন্ন প্রাসঙ্গিক দিক বিবেচনা করতে হবে, যার মধ্যে, উদাহরণস্বরূপ, X86 ব্যাকএন্ডে উন্নতি, ভাল তিনি যোগ করেছেনo এক্সটেনশনের জন্য সমর্থন নির্দেশনা সেট আর্কিটেকচার ISA SHA512, ISA SM3, ISA SM4 এবং ISA AVX-VNNI-INT16।

এই ছাড়াও, এটি হাইলাইট উন্নতি স্থাপত্যের জন্য ব্যাকএন্ড ক্ষমতা আরআইএসসি-ভি যা উল্লেখযোগ্যভাবে প্রসারিত হয়েছে, থেকে sifive-x280 প্রসেসরের জন্য সমর্থন যোগ করা হয়েছে।

আমরা খুঁজে পেতে পারেন যে পরিবর্তন আরেকটি হল XTH প্রসেসর এক্সটেনশনের জন্য বাস্তবায়িত সমর্থন*, সেইসাথে এক্সটেনশনের সাথে সামঞ্জস্যপূর্ণ LSX, LASX, LVZ এবং LBT ISA লুংআর্ক আর্কিটেকচারের ব্যাকএন্ডে।

AArch64, ARM, WebAssembly, MIPS, PowerPC, AMDGPU আর্কিটেকচারের জন্য উন্নত ব্যাকএন্ড, প্রসারিত LLD লিঙ্কার ক্ষমতা এবং LLDB ডিবাগারে একটি নতুন "রেজিস্টার ইনফো" কমান্ড যোগ করা হয়েছে যাতে একটি রেকর্ড সম্পর্কে সমস্ত পরিচিত তথ্য প্রদর্শন করা হয়।

ক্ল্যাং 17.0-এর উন্নতির বিষয়ে, এটি হাইলাইট করা হয়েছে যে ভবিষ্যতের সি-স্ট্যান্ডার্ড C2x-এ সংজ্ঞায়িত বৈশিষ্ট্যগুলি যেমন bool, static_assert, aligns, alignof এবং thread_local কীওয়ার্ড প্রয়োগ করা হয়েছে, সেইসাথে খালি বন্ধনী নির্দিষ্ট করার ক্ষমতা «{} » শূন্য মান শুরু করার জন্য।

কোডo C "goto" অভিব্যক্তি ফরোয়ার্ড করার ক্ষমতা প্রদান করে পরোক্ষভাবে নির্বাচিত ট্যাগগুলির মাধ্যমে "asm" ব্লকের মধ্যে, একটি C এক্সটেনশনের জন্য সমর্থন যোগ করা হয়েছিল যা "_ জেনেরিক"-এ প্রথম অপারেন্ড হিসাবে একটি অভিব্যক্তির পরিবর্তে একটি টাইপ ব্যবহার করার অনুমতি দেয়, সি ভাষায় ধ্রুবক অভিব্যক্তিকে কাঠামো, ইউনিয়ন ব্যবহার করার অনুমতি দেয়। এবং "const" অ্যাট্রিবিউট দিয়ে ঘোষিত অ্যারে।

C++20 স্ট্যান্ডার্ড সম্পর্কিত উন্নতির বিষয়ে, এটি এখন উল্লেখ করা হয়েছে উইন্ডোজ ছাড়া সমস্ত প্ল্যাটফর্মে, Coroutines এর জন্য সম্পূর্ণ সমর্থন রয়েছে, উপরন্তু, ধ্রুবক অভিব্যক্তি তুলনা অপারেশন জন্য অতিরিক্ত প্রয়োজনীয়তা বাস্তবায়ন করা হয়েছে.

সেটাও এখন তুলে ধরা হলোল্যাম্বডা টেমপ্লেটগুলির সঠিক পার্সিং গ্যারান্টিযুক্ত টেমপ্লেট পরামিতিগুলির পরে অবিলম্বে নির্দিষ্ট করা হয়েছে এবং ব্লকে একটি নির্ভরশীল প্রকারের সাথে একটি পরিবর্তনশীল রয়েছে৷ ব্যবহারকারীর লিটারেলে ডবল আন্ডারস্কোর ব্যবহার সংরক্ষিত এবং নামের সংরক্ষিত শনাক্তকারীর সাথে ফাংশন সংজ্ঞায় "অপারেটর" কীওয়ার্ড ব্যবহারকে নিরুৎসাহিত করা হয়েছে

জন্য হিসাবে C++23 স্ট্যান্ডার্ডের সাথে সম্পর্কিত উন্নতি করা হবে , এটি উল্লেখ করা হয়েছে যে এটি ISO দ্বারা অনুমোদনের চূড়ান্ত পর্যায়ে রয়েছে, যেহেতু ল্যাম্বডা ফাংশনে চূড়ান্ত রিটার্ন টাইপের পরিবর্তিত সুযোগ প্রথমে হুক এবং তারপর আশেপাশের পাঠ্য দেখতে।

এর অন্যান্য পরিবর্তন যে দাঁড়ানো:

  • ব্যবহার করে বহুমাত্রিক অ্যারে সংজ্ঞায়িত করার ক্ষমতা যোগ করা হয়েছে
  • "-O0" অপ্টিমাইজেশান মোড ব্যবহার করে C++ অ্যাপ্লিকেশন কম্পাইল করার সময়, কলের জন্য কোড জেনারেশন উন্নত করা হয়েছে।
  • আউটপুট রঙ নিষ্ক্রিয় করতে NO_COLOR এনভায়রনমেন্ট ভেরিয়েবলের জন্য সমর্থন যোগ করা হয়েছে।
  • স্ট্যাটিক বিশ্লেষণ এবং ডায়াগনস্টিক টুলগুলি উল্লেখযোগ্যভাবে প্রসারিত করা হয়েছে, উদাহরণস্বরূপ, নতুন স্বাক্ষরিত পূর্ণসংখ্যা ওভারফ্লো চেক, ল্যাম্বডা টেমপ্লেট সংশোধন, কনস্টেক্সপ্র এক্সপ্রেশন, নাল পয়েন্টার তুলনা, অপ্রবর্তিত কাঠামোর ব্যবহার ইত্যাদি যোগ করা হয়েছে।
  • Libc++ লাইব্রেরি C++20 এবং C++23 স্ট্যান্ডার্ডের ক্ষমতার জন্য সমর্থন প্রয়োগ করে চলেছে এবং C++26 স্পেসিফিকেশনের জন্য সমর্থন প্রদানের জন্যও কাজ শুরু করেছে।
  • হেডার ফাইল এবং মডিউলগুলির মধ্যে সংযোগের বর্ণনায় "cplusplus23 প্রয়োজন" অভিব্যক্তির জন্য সমর্থন যোগ করা হয়েছে।

পরিশেষে, আপনি যদি এটি সম্পর্কে আরও জানতে সক্ষম হন তবে আপনি বিশদ বিবরণে পরামর্শ করতে পারেন নিম্নলিখিত লিঙ্ক.