- GCC 16 পিকোলিবিসির জন্য নেটিভ সাপোর্টকে একীভূত করে, যা একটি অতি-হালকা libc C যা এমবেডেড সিস্টেমের জন্য তৈরি।
- ইন্টিগ্রেশন লক্ষ্যমাত্রা যোগ করে
*-picolibc-*এবং নতুন বিকল্প যেমন--oslib=,--crt0=y--printf=. - Picolibc Newlib এবং Newlib-ন্যানো-এর তুলনায় ফার্মওয়্যারের আকার উল্লেখযোগ্যভাবে কমিয়ে দেয়, যা IoT এবং edge অ্যাপ্লিকেশনের জন্য গুরুত্বপূর্ণ।
- GCC 16 এই সমর্থনকে আধুনিক স্থাপত্যের উন্নতি এবং ডিফল্টরূপে C++20 এর সাথে একত্রিত করে, যা এমবেডেড ইকোসিস্টেমে এর ভূমিকাকে আরও শক্তিশালী করে।

আগমনের আগমন পিকোলিবিসির নেটিভ সাপোর্ট সহ জিসিসি ১৬ এটি বেশ উত্তেজনা তৈরি করছে এমবেডেড ডেভেলপমেন্ট ওয়ার্ল্ডএটি কেবল একই পুরানো কম্পাইলারের "অন্য সংস্করণ" নয়, বরং একটি গুরুত্বপূর্ণ পদক্ষেপ অনেক হালকা এবং আরও পরিশীলিত টুলচেইন মাইক্রোকন্ট্রোলার, আইওটি ডিভাইস এবং এজ সিস্টেমের জন্য যেখানে প্রতিটি বাইট গণনা করা হয়।
এই পদক্ষেপের পিছনে রয়েছেন অভিজ্ঞ ডেভেলপার কিথ প্যাকার্ড, X.Org-এ তার কাজের জন্য সর্বাধিক পরিচিতযা বছরের পর বছর ধরে পিকোলিবিসিকে এমবেডেড সিস্টেমের জন্য একটি মিনিমালিস্ট সি স্ট্যান্ডার্ড লাইব্রেরি হিসেবে প্রচার করে আসছে। GCC 16-এ এর ইন্টিগ্রেশনের সাথে সাথে, এই লাইব্রেরিকে লিঙ্ক করার জন্য কাস্টম প্যাচ, অদ্ভুত কনফিগারেশন এবং হ্যাকের প্রয়োজনীয়তা অবশেষে শেষ হয়ে গেছে। জিসিসি ইকোসিস্টেমের মধ্যে পিকোলিবিসি প্রথম শ্রেণীর নাগরিক হয়ে ওঠে.
পিকোলিবিসি কী এবং কেন এটি জিসিসি ১৬-তে একীভূত করা হয়েছে?
পিকোলিবিসি একটি অতি-হালকা সি স্ট্যান্ডার্ড লাইব্রেরি ৩২-বিট এবং ৬৪-বিট এমবেডেড সিস্টেমের জন্য বিশেষভাবে ডিজাইন করা, এটি নিউলিব এবং এভিআর লিবিসির কনভারজেন্স এবং রিফ্যাক্টরিং থেকে জন্মগ্রহণ করেছে, যার একটি স্পষ্ট লক্ষ্য ছিল: সম্পদের ব্যবহার কমানো। রম এবং র্যাম সি ভাষার অপরিহার্য ফাংশনগুলি ত্যাগ না করে।
অন্যান্য ভারী বিকল্পের বিপরীতে, পিকোলিবিসি এমনভাবে ডিজাইন করা হয়েছে যাতে লিঙ্কার সহজেই অব্যবহৃত কোড বাতিল করতে পারে।লাইব্রেরির কোন অংশগুলি আসলে চূড়ান্ত বাইনারিতে শেষ হবে তার উপর খুব সূক্ষ্ম নিয়ন্ত্রণ প্রদান করে। এটি মাইক্রোকন্ট্রোলারের জন্য আদর্শ যেখানে স্টোরেজ কয়েক কিলোবাইটে পরিমাপ করা হয় এবং কোডের প্রতিটি অতিরিক্ত অংশ একটি উল্লেখযোগ্য বিনিয়োগের প্রতিনিধিত্ব করে। অতিরিক্ত খরচ, খরচ এবং জটিলতা.
এখন পর্যন্ত, GCC-এর সাথে Picolibc ব্যবহার করা হচ্ছে প্রায় হাতে একটা টুলচেইন বানাতেলাইব্রেরি কম্পাইল করা, সিসরুট টুইক করা, বুট স্ক্রিপ্ট পরিবর্তন করা, প্যাচ প্রয়োগ করা ইত্যাদির ফলে শক্তিশালী ফলাফল পাওয়া গেছে, কিন্তু ঘর্ষণ অনেক দলকে পিছিয়ে দিয়েছে। GCC 16 এর সাথে, এই পরিস্থিতি আমূল পরিবর্তিত হয়, কারণ কম্পাইলারটিতে সরাসরি এবং অফিসিয়াল সহায়তা অন্তর্ভুক্ত রয়েছে। এই এমবেডেড libc এর জন্য।
মূল কথা হলো, GCC 16 কোড ট্রিতে প্রয়োজনীয় পরিবর্তনগুলি অন্তর্ভুক্ত করা হয়েছে যাতে এই ধরণের লক্ষ্যবস্তু *-picolibc-* এবং কনফিগারেশন বিকল্প --with-picolibcসুতরাং, কম্পাইলার তৈরি করার সময় অথবা পূর্বে তৈরি টুলচেইন ব্যবহার করার সময়, পিকোলিবিসি একটি কারখানা-সমর্থিত বিকল্প হয়ে ওঠে, কোনও DIY ছাড়াই।
GCC 16-তে Picolibc ইন্টিগ্রেশন: বিশদ বিবরণ এবং নতুন বিকল্প
GCC 16 রিপোজিটরিতে মার্জ করা প্যাচটি কেবল Picolibc-কে একটি বিকল্প libc হিসেবে স্বীকৃতি দেয় না: এটি কম্পাইলার-নির্দিষ্ট বিকল্পগুলিও প্রবর্তন করে এমবেডেড সিস্টেমে এই হালকা পরিবেশের সুবিধা নেওয়ার জন্য ডিজাইন করা হয়েছে।
একদিকে, জিসিসি এখন নির্বিঘ্নে কাজ করতে পারে শৈলীর লক্ষ্যবস্তু *-picolibc-* (উদাহরণস্বরূপ, arm-none-picolibc-eabiঅধিকন্তু, GCC কম্পাইল করার সময় এটি পাস করা সম্ভব --with-picolibc যাতে কনফিগারেটর এই লাইব্রেরিকে প্রধান লক্ষ্য হিসেবে রেখে পরিবেশ প্রস্তুত করে, পরিচালনা করে sysroot, হেডার এবং বুট ফাইল পিকোলিবিসিতে কর্ড।
সেই মৌলিক ইন্টিগ্রেশনের পাশাপাশি, প্যাচটি একটি সিরিজ প্রকাশ করে খুব আকর্ষণীয় অতিরিক্ত বিকল্প যখন Picolibc এর জন্য কম্পাইল করা হয়:
--oslib=এটি আপনাকে বিভিন্ন মডিউল নির্বাচন করতে দেয় যা অপারেটিং সিস্টেম বা রানটাইম পরিবেশের সাথে ইন্টারফেস বাস্তবায়ন করে, যা আপনি যদি বেয়ার মেটালে কাজ করেন তবে গুরুত্বপূর্ণ, হালকা RTOS অথবা সিমুলেটরে।--crt0=: সি বুট ফাইল নির্দিষ্ট করে (crt0) ব্যবহার করতে, যা স্থান দেয় বুট ক্রমটি মানিয়ে নিন প্রতিটি বোর্ড, বুটলোডার বা প্রাথমিককরণের প্রয়োজনীয়তা।--printf=: এর সম্পূর্ণ বাস্তবায়নের মধ্যে একটি পছন্দ অফার করেprintfঅথবা সংক্ষিপ্ত সংস্করণ, উদাহরণস্বরূপ পূর্ণসংখ্যার উপর দৃষ্টি নিবদ্ধ করে ন্যূনতম সংস্করণ যা উল্লেখযোগ্য পরিমাণে প্রোগ্রাম মেমোরি সাশ্রয় করে।
এই শেষ বিকল্পটি প্রায়শই বাস্তব প্রকল্পগুলিতে একটি বড় পার্থক্য তৈরি করে: ফাংশন পরিবার printf এটি সাধারণত সবচেয়ে ভারী অংশ libc থেকে। একটি ছোট সংস্করণ বেছে নিতে সক্ষম হওয়া, সম্ভবত শুধুমাত্র মৌলিক UART লগের জন্য যা প্রয়োজনীয় তা রেখে, চূড়ান্ত বাইনারিটিকে অনেক বেশি কম্প্যাক্ট হতে সাহায্য করে, যা খুব কম দামের ডিভাইসের ক্ষেত্রে গুরুত্বপূর্ণ।
কিছু প্রবাহ ম্যাক্রো এবং পতাকাও ব্যবহার করে যেমন -Dsystem-libc এবং Picolibc-এর সাথে সম্পর্কিত sysroot কনফিগারেশন, যাতে কম্পাইলার এই লাইব্রেরিটিকে বিবেচনা করে libc-এর ডিফল্ট বাস্তবায়ন প্রতিটি GCC আমন্ত্রণে কয়েক ডজন পতাকা যোগ না করেই।
জিসিসিতে "libc বৈচিত্র্য" এর দিকে পথ
জিসিসি ১৬-তে পিকোলিবিসির অন্তর্ভুক্তি হঠাৎ করে আসেনি; এর আগে জিসিসি প্রকল্পের মধ্যেই একটি বিতর্ক শুরু হয়েছিল যে এর প্রয়োজনীয়তা সম্পর্কে লাইব্রেরির বৈচিত্র্য প্রচার করুন গ আনুষ্ঠানিকভাবে সমর্থিত। প্রায় এক বছর আগে, মেইলিং লিস্টে নির্দিষ্ট প্রসঙ্গে অভিযোজিত বিভিন্ন libcs সক্ষম করার বিষয়ে ইতিমধ্যেই আলোচনা হয়েছিল, এবং Picolibc এমবেডেড জগতের জন্য একটি স্পষ্ট প্রার্থী হিসাবে উপস্থিত হয়েছিল।
এই সময়ের মধ্যে, কিথ প্যাকার্ড চলে গেছেন প্যাচের ধারাবাহিক সংস্করণগুলি পালিশ করুন এবং জমা দিন তালিকায় gcc-patchesকম্পাইলারের মান এবং রক্ষণাবেক্ষণের মান পূরণের জন্য ইন্টিগ্রেশনটি সামঞ্জস্য করা হয়েছিল। GCC রক্ষণাবেক্ষণকারীদের সাথে আলোচনায় লক্ষ্য নির্বাচন, সমর্থন ফাইল সংগঠন এবং কাস্টম বিকল্পগুলির ব্যবহারের মতো বিশদগুলি পরিমার্জিত করা হয়েছে।
এই সহযোগিতামূলক প্রক্রিয়ার ফলাফল হল একটি ইন্টিগ্রেশন যা একটি সাধারণ প্যাচ নয়, কিন্তু GCC এর অভ্যন্তরীণ স্থাপত্যের সাথে সুসংগত একটি এক্সটেনশনএটি "libc বৈচিত্র্য" ধারণাটিকে আরও শক্তিশালী করে: এখন, নির্দিষ্ট পরিবেশে glibc, Newlib বা uClibc এর সাথে স্বাভাবিক সংমিশ্রণ ছাড়াও, পিকোলিবিসি একটি হালকা ও টেকসই বিকল্প হিসেবে তালিকায় যোগ দিয়েছে GCC গাছের মধ্যেই।
এই পদ্ধতিটি বর্তমান শিল্প প্রবণতার সাথে খুব ভালোভাবে খাপ খায়, যেখানে স্থাপত্য যেমন RISC-V, নতুন ARMv9 প্রোফাইল এবং বিশেষায়িত SoCs নির্দিষ্ট অ্যাপ্লিকেশনের জন্য। একটি মডুলার এবং মিনিমালিস্ট libc থাকা একই কম্পাইলারের জন্য মাত্র কয়েক কিলোবাইট ফ্ল্যাশ মেমরি সহ একটি শক্তিশালী সার্ভার এবং একটি সেন্সর নোড উভয়ের সাথেই খাপ খাইয়ে নেওয়া সহজ করে তোলে।
নিউলিব, নিউলিব-ন্যানো এবং অন্যান্য হালকা ওজনের লিবক্সের সাথে সম্পর্ক
পিকোলিব কী নিয়ে আসে তা বোঝার জন্য, অন্যান্য ক্লাসিক বিকল্পগুলির সাথে তুলনা করে এটিকে প্রেক্ষাপটে দেখা সহায়ক। নিউলিব বহু বছর ধরেই বিদ্যমান। এমবেডেড পরিবেশের জন্য libc রেফারেন্স GCC-এর উপর ভিত্তি করে তৈরি করা হয়েছে, এবং এর থেকে Newlib-nano-এর মতো রূপগুলি উদ্ভূত হয়েছে, যার লক্ষ্য কার্যকারিতা কমিয়ে আকার কিছুটা কমানো।
পিকোলিবিসি একই উৎস ভাগ করে, কিন্তু একটি প্রয়োগ করে মডুলারিটির উপর দৃষ্টি নিবদ্ধ করে আরও আক্রমণাত্মক পুনর্গঠনধারণাটি কেবল নিউলিবকে "একটু ছোট" করা নয়, বরং এটিকে পুনর্গঠন করা যাতে আধুনিক লিঙ্কাররা অব্যবহৃত কোডগুলিকে আরও সঠিকভাবে অপসারণ করতে পারে, অন্তর্ভুক্ত কার্যকারিতা এবং দখলকৃত স্থানের মধ্যে অনুপাত সর্বাধিক করে তোলে।
সম্প্রদায় বিশ্লেষণ অনুসারে (যেমন, এমবেডেড ডেভেলপমেন্ট ব্লগে প্রকাশিত তুলনা), পিকোলিবিসিতে স্যুইচ করার অর্থ হতে পারে ফ্ল্যাশ ব্যবহার, বাইনারি আকার, স্ট্যাক এবং হিপে উল্লেখযোগ্য হ্রাস নিউলিব এবং এর ন্যানো ভেরিয়েন্টের তুলনায়। বাস্তবে, এর অর্থ হল একই মাইক্রোকন্ট্রোলারে আরও অ্যাপ্লিকেশন লজিক ফিট করা, অথবা কম মেমরি সহ একটি মাইক্রোকন্ট্রোলারে ডাউনগ্রেড করা, যার ফলে হার্ডওয়্যার খরচ কম হয়।
একই সময়ে, পিকোলিবিসি প্রকল্পটি মৌলিক বিষয়গুলিতে আটকে থাকে না: এর সংগ্রহস্থল দেখায় যে কীভাবে সহায়তা যোগ করা হচ্ছে ১৬-বিট লক্ষ্যমাত্রা, POSIX সামঞ্জস্যের উন্নতি এবং বিভিন্ন পরিমার্জন যা এটিকে কম বিদেশী স্থাপত্যের জন্যও আকর্ষণীয় করে তোলে: ARM Cortex-M, RISC-V, এমবেডেড MIPS এবং একটি দীর্ঘ ইত্যাদি।
ডায়েটলিবিসি বা বিভিন্ন ন্যানোলিবের মতো অন্যান্য হালকা বিকল্পের তুলনায়, পিকোলিবিসি একটি বেছে নেয় আকার এবং মান মেনে চলার মধ্যে ভারসাম্য যা বিশেষ করে সেইসব প্রকল্পগুলিতে ভালোভাবে ফিট করে যেখানে সামঞ্জস্যপূর্ণ API, নিবিড় পরীক্ষা এবং একই সাথে, একটি অত্যন্ত সংযত পদচিহ্ন প্রয়োজন।
একটি এমবেডেড ওয়ার্কফ্লোতে Picolibc কীভাবে ব্যবহার করবেন
GCC 16-এ ইন্টিগ্রেশন একজন ফার্মওয়্যার ডেভেলপারের দৈনন্দিন কাজে খুবই বাস্তব পরিবর্তন আনে। এটি স্পষ্টভাবে দেখার জন্য, আসুন একটি সাধারণ প্রকল্প কল্পনা করি ক্রস-সংকলন সহ এআরএম কর্টেক্স-এম একটি ডেভেলপমেন্ট পিসি থেকে। ঐতিহ্যগতভাবে, টুলচেইনগুলি পছন্দ করে arm-none-eabi নিউলিব অথবা মাইক্রোপ্রসেসর প্রস্তুতকারকের মালিকানাধীন SDK-এর উপর ভিত্তি করে।
GCC 16 এর সাহায্যে, আপনি এমন একটি টুলচেইন তৈরি বা ডাউনলোড করতে পারেন যাতে ইতিমধ্যেই অন্তর্ভুক্ত রয়েছে একটি লক্ষ্য arm-none-picolibc-eabiবিকল্পটি ব্যবহার করে কম্পাইলার কনফিগার করার সময় --with-picolibcপরিবেশটি এখন এই libc কে স্ট্যান্ডার্ড হিসেবে ব্যবহার করার জন্য প্রস্তুত, এর হেডার, sysroot এবং উপযুক্ত বুট ফাইল সহ।
সেখান থেকে, নতুন উপসর্গ ব্যবহার করে সংকলনটি করা হয়, উদাহরণস্বরূপ arm-none-picolibc-eabi-gccস্বাভাবিক অপ্টিমাইজেশন এবং ডিবাগিং ফ্ল্যাগের সাথে। যদি আপনি আকার আরও উন্নত করতে চান, তাহলে আপনি বিকল্পটি ব্যবহার করতে পারেন --printf= এর বৈকল্পিক নির্বাচন করতে printf প্রকল্পের চাহিদার চেয়ে হালকা।
মেক, সিমেক, বা অন্যান্য বিল্ড সিস্টেম ব্যবহার করে এমন পরিবেশে, পরিবর্তনটি সাধারণত সীমাবদ্ধ থাকে টুলচেইনের সংজ্ঞা সামঞ্জস্য করুন: নতুন উপসর্গটি নির্দিষ্ট করুন, সম্ভবত কিছু লিঙ্কিং বিকল্প গ্রহণ করুন এবং পরীক্ষা করুন যে স্টার্টআপ স্ক্রিপ্টগুলি (crt0) এবং লিঙ্কার স্ক্রিপ্ট ফাইলগুলি Picolibc সংস্থার সাথে খাপ খায়। অনেক ক্ষেত্রে, এই সমন্বয়টি একটি বিক্রেতা SDK থেকে একটি "বিশুদ্ধ" GCC টুলচেইনে স্থানান্তরের ক্ষেত্রে ইতিমধ্যে যা জড়িত তার চেয়ে অনেক ছোট।
এই প্রবাহ মালিকানাধীন বা বদ্ধ পরিবেশ পরিত্যাগ করার, বিভিন্ন মাইক্রোকন্ট্রোলার পরিবারের মধ্যে বহনযোগ্যতা অর্জনের এবং একটি ১০০% উন্মুক্ত এবং অডিটযোগ্য টুলচেইন, শিল্প, চিকিৎসা বা মোটরগাড়ির মতো খাতে ক্রমবর্ধমানভাবে মূল্যবান কিছু।
আইওটি, এজ কম্পিউটিং এবং নিয়ন্ত্রিত খাতের উপর প্রভাব
এই একীকরণের সময়টি আকস্মিক নয়: এটি একটি নৃশংস সম্প্রসারণের সাথে মিলে যায় আইওটি ডিভাইস এবং এজ সিস্টেম যা খুব সীমিত সম্পদের সাথে কাজ করে, প্রায়শই ব্যাটারি চালিত এবং একসাথে মোতায়েন করা হয়। এই ধরণের পরিস্থিতিতে, প্রোগ্রাম মেমরি সংরক্ষণ করা সহজভাবে অনুমতি দেয়, সস্তা মাইক্রোকন্ট্রোলার ব্যবহার করুন এবং ইউনিট খরচ উল্লেখযোগ্যভাবে হ্রাস করে।
ফার্মওয়্যারের আকার কমানোও সমস্যাগুলিকে সহজ করে তোলে যেমন ওটিএ আপডেটযেখানে প্রতিটি কিলোবাইট কম মানে দ্রুত ট্রান্সমিশন, কম শক্তি খরচ এবং অস্থির নেটওয়ার্কগুলিতে ত্রুটির সম্ভাবনা কম। GCC 16 এর সাথে মিলিত হলে Picolibc অনেক বেশি কম্প্যাক্ট বাইনারি সক্ষম করে, এই ধরণের ক্রিয়াকলাপের উপর সরাসরি প্রভাব ফেলে।
নিয়ন্ত্রিত শিল্পগুলিতে (স্বাস্থ্যসেবা, মোটরগাড়ি, রেল, ইত্যাদি), সুবিধাগুলিও লক্ষণীয়। যদিও LIBC-এর আনুষ্ঠানিক সার্টিফিকেশনের জন্য নির্দিষ্ট সরঞ্জাম এবং প্রক্রিয়া প্রয়োজন, তবে অ্যাক্সেস থাকা একটি ছোট, মডুলার এবং তুলনামূলকভাবে সহজে অডিট করা যায় এমন লাইব্রেরি এটি সার্টিফাইড টুলচেইন বা পুঙ্খানুপুঙ্খ নিরাপত্তা পর্যালোচনার শিকার টুলচেইন অফার করার পথ প্রশস্ত করে।
একই সময়ে, পিকোলিবিসির উপর এই বাজিটি প্রবণতার সাথে খাপ খায় সিলিকন টুলচেইন খুলুনযেমনটি RISC-V ইকোসিস্টেমের ক্ষেত্রে। এই পরিবেশে, কেবল ISA খোলা থাকে না, বরং কম্পাইলার, libc এবং বাকি টুলচেইনও স্বচ্ছ থাকে এবং সম্প্রদায় দ্বারা রক্ষণাবেক্ষণ করা হয়।
GCC 16, আধুনিক স্থাপত্যের জন্য সমর্থন (ARMv9.6-A, RISC-V, x86 এর নতুন প্রজন্ম যেমন AMD Zen 6 বা নতুন Intel প্রসেসর) এবং Picolibc একটি হালকা libc হিসাবে GNU কম্পাইলারকে শক্তিশালী করে স্মার্ট ডিভাইসের একটি নতুন তরঙ্গের কেন্দ্রীয় স্তম্ভ, পরিধেয় থেকে শুরু করে স্থানীয় বিশ্লেষণ ক্ষমতা সম্পন্ন শিল্প সেন্সর পর্যন্ত।
GCC 16 স্ট্যাটাস, অন্যান্য নতুন বৈশিষ্ট্য এবং সাপোর্ট ম্যাচিউরিটি
GCC 16 পরিকল্পনা করা হয়েছে কম্পাইলারের সাধারণ প্রকাশ চক্রের প্রধান সংস্করণরক্ষণাবেক্ষণকারীদের পরিকল্পনা অনুসারে সবকিছু ঠিকঠাক থাকলে মার্চ থেকে এপ্রিলের মধ্যে আনুমানিক মুক্তির সময় থাকবে। উন্নয়নের চূড়ান্ত পর্যায়ে (পর্যায় ৪) প্রবেশ নিশ্চিত হয়ে গেলে, ফোকাস কেবলমাত্র ডকুমেন্টেশন এবং রিগ্রেশন সংশোধন, খুব ন্যায্য ক্ষেত্রে ছাড়া নতুন বৈশিষ্ট্য স্বীকার না করে।
সাম্প্রতিকতম প্রতিবেদনে উল্লেখ করা হয়েছে যে বেশ কয়েকটি সমস্যা সমাধান করা বাকি রয়েছে অগ্রাধিকার রিগ্রেশন P1এগুলো সবচেয়ে গুরুত্বপূর্ণ বাগ। যতক্ষণ না এই বাগের সংখ্যা শূন্য বা গ্রহণযোগ্য স্তরে পৌঁছায়, ততক্ষণ পর্যন্ত GCC 16.1-এর জন্য প্রথম রিলিজ প্রার্থী তৈরি করা হবে না। এই শৃঙ্খলা নিশ্চিত করে যে পিকোলিবিসির জন্য সমর্থন যথেষ্ট পরিপক্ক অবস্থায় পৌঁছেছে বাস্তব প্রকল্পে এটি ব্যবহার শুরু করার জন্য।
পিকোলিবিসি সাপোর্ট ছাড়াও, জিসিসি ১৬ তে বেশ কিছু নতুন বৈশিষ্ট্য অন্তর্ভুক্ত করা হয়েছে: টার্গেটের জন্য সাপোর্ট Armv9.6-A, AMD Zen 6 আর্কিটেকচারের জন্য প্রাথমিক বাস্তবায়ন (হিসাবে চিহ্নিত Znver6) এর নতুন ISA ক্ষমতার সাথে, ব্যবস্থাপনার উন্নতি AMD GPU-তে পরিচালিত মেমোরি, নোভা লেক এবং ওয়াইল্ডক্যাট লেকের মতো পরবর্তী প্রজন্মের ইন্টেল প্রসেসরের জন্য সমর্থন, এবং LTO (লিংক টাইম অপ্টিমাইজেশন) তে ডিফল্ট পার্টিশনের সংখ্যা বৃদ্ধি, অন্যান্য উন্নতির মধ্যে।
ভাষার দিক থেকে, সবচেয়ে দৃশ্যমান সিদ্ধান্তগুলির মধ্যে একটি হল যে C++20 ডিফল্ট স্ট্যান্ডার্ড হয়ে ওঠে যখন অন্য কোনও নির্দিষ্ট করা নেই। Algol 68 ভাষার জন্য একটি নতুন ফ্রন্ট-এন্ড এমনকি যোগ করা হয়েছে, যা GCC দ্বারা সমর্থিত ভাষার তালিকাকে প্রসারিত করে। এই সমস্ত কিছুর সাথে একত্রিত করা হয়েছে বাগ সংশোধন এবং ছোটখাটো অপ্টিমাইজেশন বিভিন্ন ব্যাকএন্ডে বিতরণ করা হয়েছে।
সামগ্রিকভাবে দেখলে, GCC 16 কেবল "পিকোলিবিসি অন্তর্ভুক্ত সংস্করণ" নয়। এটি স্থাপত্য সহায়তা, C++ আধুনিকীকরণ এবং বর্তমান হার্ডওয়্যারের ক্ষমতার দিক থেকে একটি শক্তিশালী প্রকাশ, যেখানে একটি হালকা ওজনের libc সংযোজন একটি বৃহত্তর প্রচেষ্টার অংশ। আধুনিক চাহিদার সাথে খাপ খাইয়ে নেওয়ার বৃহত্তর কৌশল ডেভেলপমেন্টের ক্ষেত্রে, ডেস্কটপে এবং সর্বোপরি, এমবেডেড সিস্টেমে।
প্রযুক্তিগত সম্প্রদায় এবং বিশেষায়িত মিডিয়া এই উন্নয়নগুলি কভার করছে: পিকোলিবিসি সমর্থন এবং "libc বৈচিত্র্য" ধারণার উপর দৃষ্টি নিবদ্ধ করা নিবন্ধ থেকে শুরু করে AMD Zen 6 এর মতো নতুন স্থাপত্যের প্রভাব বিশ্লেষণ, সেইসাথে সোশ্যাল মিডিয়ায় আলোচনা সম্পর্কে রেট্রো কনসোল থেকে শুরু করে ইন্ডাস্ট্রিয়াল কন্ট্রোল পর্যন্ত প্রকল্পগুলিতে GCC 16 কীভাবে কাজে লাগানো যায়.
সবকিছু থেকেই বোঝা যাচ্ছে যে, GCC 16.1-এর চূড়ান্ত প্রকাশ যত এগিয়ে আসবে এবং সমন্বিত Picolibc সহ প্রথম টুলচেইনগুলি স্থিতিশীল হবে, আমরা আরও বাস্তব-বিশ্ব ব্যবহারের কেস, তুলনামূলক আকার এবং কর্মক্ষমতা পরীক্ষা এবং ব্যবহারিক নির্দেশিকা দেখতে পাব বেয়ার-মেটাল, লিঙ্কার স্ক্রিপ্ট এবং নির্দিষ্ট বুট সিকোয়েন্স এই নতুন সংমিশ্রণটি ব্যবহার করে।
GCC 16-এ Picolibc-এর সমর্থন এমবেডেড ইকোসিস্টেমের জন্য একটি টার্নিং পয়েন্ট চিহ্নিত করে: এটি অতি-হালকা LIBC গ্রহণের জন্য ঘর্ষণকে উল্লেখযোগ্যভাবে হ্রাস করে, যা ছোট এবং আরও রক্ষণাবেক্ষণযোগ্য ফার্মওয়্যারের দরজা খুলে দেয়। এটি বিভিন্ন স্থাপত্যের সাথে খাপ খাইয়ে নেওয়া উন্মুক্ত, কনফিগারযোগ্য টুলচেইনের দিকে সাধারণ প্রবণতার সাথে সামঞ্জস্যপূর্ণ। অনেক উন্নয়ন দলের জন্য, এখনই Picolibc-এর সাথে GCC 16 শাখা পরীক্ষা করা, আকার, কর্মক্ষমতা এবং রক্ষণাবেক্ষণের উপর প্রভাব পরিমাপ করা এবং আসন্ন পণ্যগুলিতে তাদের একীকরণ মূল্যায়ন করা সার্থক।
সুচিপত্র
- পিকোলিবিসি কী এবং কেন এটি জিসিসি ১৬-তে একীভূত করা হয়েছে?
- GCC 16-তে Picolibc ইন্টিগ্রেশন: বিশদ বিবরণ এবং নতুন বিকল্প
- জিসিসিতে "libc বৈচিত্র্য" এর দিকে পথ
- নিউলিব, নিউলিব-ন্যানো এবং অন্যান্য হালকা ওজনের লিবক্সের সাথে সম্পর্ক
- একটি এমবেডেড ওয়ার্কফ্লোতে Picolibc কীভাবে ব্যবহার করবেন
- আইওটি, এজ কম্পিউটিং এবং নিয়ন্ত্রিত খাতের উপর প্রভাব
- GCC 16 স্ট্যাটাস, অন্যান্য নতুন বৈশিষ্ট্য এবং সাপোর্ট ম্যাচিউরিটি